mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-02-03 07:49:03 +00:00
[CI] Update CI
Signed-off-by: Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs <me@bjw-s.dev>
This commit is contained in:
parent
fce43fdc84
commit
417dd63006
173
.github/workflows/charts-auto-generate-docs.yaml
vendored
173
.github/workflows/charts-auto-generate-docs.yaml
vendored
@ -1,173 +0,0 @@
|
|||||||
name: "Charts: Auto-generate docs"
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
repository_dispatch:
|
|
||||||
types: [update-readme-command]
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'charts/**/Chart.yaml'
|
|
||||||
- 'charts/**/values.yaml'
|
|
||||||
- 'charts/**/*.md.gotmpl'
|
|
||||||
- 'charts/**/README.md'
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.head_ref }}-generate-docs
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# Branch-based pull request / workflow_dispatch
|
|
||||||
generate-readme-trusted:
|
|
||||||
if:
|
|
||||||
(
|
|
||||||
github.event_name == 'pull_request' &&
|
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
|
||||||
) ||
|
|
||||||
github.event_name == 'workflow_dispatch'
|
|
||||||
name: Auto-generate chart README
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Get k8s-at-home token
|
|
||||||
id: get-app-token
|
|
||||||
uses: getsentry/action-github-app-token@v1
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
token: ${{ steps.get-app-token.outputs.token }}
|
|
||||||
ref: ${{ github.ref }}
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- uses: dorny/paths-filter@v2
|
|
||||||
id: filter
|
|
||||||
with:
|
|
||||||
list-files: shell
|
|
||||||
filters: |
|
|
||||||
addedOrModified:
|
|
||||||
- added|modified: 'charts/**'
|
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
uses: azure/setup-helm@v1
|
|
||||||
with:
|
|
||||||
version: v3.5.3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
with:
|
|
||||||
python-version: 3.7
|
|
||||||
|
|
||||||
- name: Install helm-docs
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
wget -O /tmp/helm-docs.deb https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_linux_amd64.deb
|
|
||||||
sudo dpkg -i /tmp/helm-docs.deb
|
|
||||||
|
|
||||||
- name: Run against changed charts
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
CHARTS=()
|
|
||||||
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
|
||||||
# Get only the chart paths
|
|
||||||
for i in "${PATHS[@]}"
|
|
||||||
do
|
|
||||||
IFS='/' read -r -a path_parts <<< "$i"
|
|
||||||
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remove duplicates
|
|
||||||
CHARTS=( `for i in ${CHARTS[@]}; do echo $i; done | sort -u` )
|
|
||||||
|
|
||||||
for i in "${CHARTS[@]}"
|
|
||||||
do
|
|
||||||
echo "Rendering README for chart ${i}"
|
|
||||||
IFS='/' read -r -a chart_parts <<< "$i"
|
|
||||||
./hack/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
|
|
||||||
echo ""
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Create commit
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
commit_message: Auto-generate chart README
|
|
||||||
commit_user_name: k8s-at-home[bot]
|
|
||||||
commit_user_email: <k8s-at-home[bot]@users.noreply.github.com>
|
|
||||||
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
|
||||||
file_pattern: charts/**/
|
|
||||||
|
|
||||||
# Repo owner has commented /update-readme on a (fork-based) pull request
|
|
||||||
generate-readme-fork:
|
|
||||||
if:
|
|
||||||
github.event_name == 'repository_dispatch'
|
|
||||||
name: Auto-generate chart README for forks
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- uses: dorny/paths-filter@v2
|
|
||||||
id: filter
|
|
||||||
with:
|
|
||||||
list-files: shell
|
|
||||||
base: master
|
|
||||||
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
|
||||||
filters: |
|
|
||||||
addedOrModified:
|
|
||||||
- added|modified: 'charts/**'
|
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
uses: azure/setup-helm@v1
|
|
||||||
with:
|
|
||||||
version: v3.5.3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
with:
|
|
||||||
python-version: 3.7
|
|
||||||
|
|
||||||
- name: Install helm-docs
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
wget -O /tmp/helm-docs.deb https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_linux_amd64.deb
|
|
||||||
sudo dpkg -i /tmp/helm-docs.deb
|
|
||||||
|
|
||||||
- name: Run against changed charts
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
run: |
|
|
||||||
CHARTS=()
|
|
||||||
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
|
||||||
# Get only the chart paths
|
|
||||||
for i in "${PATHS[@]}"
|
|
||||||
do
|
|
||||||
IFS='/' read -r -a path_parts <<< "$i"
|
|
||||||
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remove duplicates
|
|
||||||
CHARTS=( `for i in ${CHARTS[@]}; do echo $i; done | sort -u` )
|
|
||||||
|
|
||||||
for i in "${CHARTS[@]}"
|
|
||||||
do
|
|
||||||
echo "Rendering README for chart ${i}"
|
|
||||||
IFS='/' read -r -a chart_parts <<< "$i"
|
|
||||||
./hack/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
|
|
||||||
echo ""
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Create commit
|
|
||||||
if: steps.filter.outputs.addedOrModified == 'true'
|
|
||||||
uses: stefanzweifel/git-auto-commit-action@v4
|
|
||||||
with:
|
|
||||||
commit_message: Auto-generate chart README
|
|
||||||
commit_user_name: k8s-at-home[bot]
|
|
||||||
commit_user_email: <k8s-at-home[bot]@users.noreply.github.com>
|
|
||||||
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
|
||||||
file_pattern: charts/**/
|
|
83
.github/workflows/charts-release.yaml
vendored
83
.github/workflows/charts-release.yaml
vendored
@ -9,15 +9,88 @@ on:
|
|||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- 'charts/**'
|
- 'charts/**'
|
||||||
- '!charts/README.md'
|
|
||||||
- '!charts/**/README.md'
|
|
||||||
- '!charts/**/README.md.gotmpl'
|
|
||||||
- '!charts/**/README_CHANGELOG.md.gotmpl'
|
|
||||||
- '!charts/**/README_CONFIG.md.gotmpl'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
generate-readme:
|
||||||
|
name: Auto-generate chart README
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Get k8s-at-home token
|
||||||
|
id: get-app-token
|
||||||
|
uses: getsentry/action-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
||||||
|
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
token: ${{ steps.get-app-token.outputs.token }}
|
||||||
|
ref: ${{ github.ref }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: dorny/paths-filter@v2
|
||||||
|
id: filter
|
||||||
|
with:
|
||||||
|
list-files: shell
|
||||||
|
filters: |
|
||||||
|
addedOrModified:
|
||||||
|
- added|modified: 'charts/**'
|
||||||
|
|
||||||
|
- name: Install Helm
|
||||||
|
if: steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
uses: azure/setup-helm@v1
|
||||||
|
with:
|
||||||
|
version: v3.5.3
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
if: steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
with:
|
||||||
|
python-version: 3.7
|
||||||
|
|
||||||
|
- name: Install helm-docs
|
||||||
|
if: steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
run: |
|
||||||
|
wget -O /tmp/helm-docs.deb https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_linux_amd64.deb
|
||||||
|
sudo dpkg -i /tmp/helm-docs.deb
|
||||||
|
|
||||||
|
- name: Run against changed charts
|
||||||
|
if: steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
run: |
|
||||||
|
CHARTS=()
|
||||||
|
PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
|
||||||
|
# Get only the chart paths
|
||||||
|
for i in "${PATHS[@]}"
|
||||||
|
do
|
||||||
|
IFS='/' read -r -a path_parts <<< "$i"
|
||||||
|
CHARTS+=("${path_parts[1]}/${path_parts[2]}")
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove duplicates
|
||||||
|
CHARTS=( `for i in ${CHARTS[@]}; do echo $i; done | sort -u` )
|
||||||
|
|
||||||
|
for i in "${CHARTS[@]}"
|
||||||
|
do
|
||||||
|
echo "Rendering README for chart ${i}"
|
||||||
|
IFS='/' read -r -a chart_parts <<< "$i"
|
||||||
|
./hack/gen-helm-docs.sh "${chart_parts[0]}" "${chart_parts[1]}"
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Create commit
|
||||||
|
if: steps.filter.outputs.addedOrModified == 'true'
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
commit_message: Auto-generate chart README
|
||||||
|
commit_user_name: k8s-at-home[bot]
|
||||||
|
commit_user_email: <k8s-at-home[bot]@users.noreply.github.com>
|
||||||
|
commit_author: k8s-at-home[bot] <k8s-at-home[bot]@users.noreply.github.com>
|
||||||
|
file_pattern: charts/**/
|
||||||
|
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
needs:
|
||||||
|
- generate-readme
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
31
.github/workflows/slash-command-dispatch.yaml
vendored
31
.github/workflows/slash-command-dispatch.yaml
vendored
@ -1,31 +0,0 @@
|
|||||||
name: Dispatch Commands
|
|
||||||
|
|
||||||
on:
|
|
||||||
issue_comment:
|
|
||||||
types: [created]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# If someone with write access comments "/update-readme" on a pull request, emit a repository_dispatch event
|
|
||||||
update-readme:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
# Only run for PRs, not issue comments
|
|
||||||
if: ${{ github.event.issue.pull_request }}
|
|
||||||
steps:
|
|
||||||
- name: Generate token
|
|
||||||
id: generate_token
|
|
||||||
uses: tibdex/github-app-token@v1
|
|
||||||
with:
|
|
||||||
app_id: ${{ secrets.K8S_AT_HOME_APP_ID }}
|
|
||||||
private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }}
|
|
||||||
|
|
||||||
- name: Slash Command Dispatch
|
|
||||||
uses: peter-evans/slash-command-dispatch@v1
|
|
||||||
env:
|
|
||||||
TOKEN: ${{ steps.generate_token.outputs.token }}
|
|
||||||
with:
|
|
||||||
token: ${{ env.TOKEN }} # GitHub App installation access token generated above
|
|
||||||
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
issue-type: pull-request
|
|
||||||
commands: update-readme
|
|
||||||
named-args: true
|
|
||||||
permission: write
|
|
Loading…
Reference in New Issue
Block a user