ci: Update CI

This commit is contained in:
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 2022-10-03 11:43:22 +02:00
parent 8703597123
commit 7798202759
No known key found for this signature in database
GPG key ID: BC5E2BD907F9A8EC
16 changed files with 102 additions and 71 deletions

View file

@ -15,6 +15,12 @@ on:
A JSON encoded array of charts to lint
required: true
type: string
overrideDeps:
description: >
A JSON encoded array of dependencies to override before linting
type: string
required: false
default: '[]'
env:
HELM_VERSION: 3.9.2
@ -58,7 +64,14 @@ jobs:
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.3.1
- name: Run chart-testing (install)
- name: Override chart dependencies
uses: ./.github/actions/override-chart-deps
if: ${{ inputs.overrideDeps != '[]' }}
with:
chart: ${{ matrix.chart }}
overrides: ${{ inputs.overrideDeps }}
- name: Run chart-testing (lint)
run: ct lint --config .ci/ct/ct.yaml --charts "charts/${{ matrix.chart }}"
# Summarize matrix https://github.community/t/status-check-for-a-matrix-jobs/127354/7

View file

@ -76,12 +76,23 @@ jobs:
helm repo index . --url https://bjw-s.github.io/helm-charts/
- name: Commit changes
shell: bash
working-directory: dest
run: |
git config user.name "bjw-s-bot[bot]"
git config user.email "bjw-s-bot <87358111+bjw-s-bot[bot]@users.noreply.github.com>"
git add $(git ls-files -o --exclude-standard)
git add index.yaml
git commit -m "Updated from ref: $GITHUB_SHA"
git push
uses: stefanzweifel/git-auto-commit-action@v4
id: auto-commit
with:
repository: dest
branch: gh-pages
commit_user_name: "bjw-s-bot[bot]"
commit_user_email: 87358111+bjw-s-bot[bot]@users.noreply.github.com
commit_author: bjw-s-bot[bot] <87358111+bjw-s-bot[bot]@users.noreply.github.com>
file_pattern: 'index.yaml **/*.tgz'
disable_globbing: true
- name: Wait for deploy
uses: jchen1/wait-for-green@v1.0.7
if: ${{ steps.auto-commit.outputs.changes_detected }}
id: wait-for-deploy
with:
token: ${{ steps.get-app-token.outputs.token }}
commit: ${{ steps.auto-commit.outputs.commit_hash }}
# Ignore the job we're running on lest we create an infinite loop
ignored_checks: 'wait-for-deploy'

View file

@ -26,7 +26,8 @@ jobs:
name: Prepare data required for release
runs-on: ubuntu-22.04
outputs:
charts-to-release: ${{ steps.collect-charts.outputs.charts }}
libraryChartsToRelease: ${{ steps.collect-charts.outputs.chartsLibrary }}
applicationChartsToRelease: ${{ steps.collect-charts.outputs.chartsApplication }}
steps:
- name: Checkout
uses: actions/checkout@v3
@ -40,11 +41,21 @@ jobs:
repoConfigFile: ./.ci/repo-config.yaml
overrideCharts: "[${{ inputs.charts }}]"
release-github-pages:
name: Release Charts to GitHub pages
release-gh-pages-library:
name: Release Library charts to GitHub pages
uses: ./.github/workflows/charts-release-ghpages.yaml
needs:
- prepare
with:
charts: "${{ needs.prepare.outputs.charts-to-release }}"
charts: "${{ needs.prepare.outputs.libraryChartsToRelease }}"
secrets: inherit
# release-gh-pages:
# name: Release Application Charts to GitHub pages
# uses: ./.github/workflows/charts-release-ghpages.yaml
# needs:
# - prepare
# - release-gh-pages-library
# with:
# charts: "${{ needs.prepare.outputs.applicationChartsToRelease }}"
# secrets: inherit

View file

@ -22,6 +22,8 @@ on:
value: ${{ jobs.pr-changes.outputs.chartsToLint }}
chartsToInstall:
value: ${{ jobs.pr-changes.outputs.chartsToInstall }}
commonLibraryUpdated:
value: ${{ contains(fromJSON(jobs.pr-changes.outputs.addedOrModifiedCharts), 'library/common') }}
jobs:
pr-metadata:
@ -55,6 +57,8 @@ jobs:
addedOrModifiedFilesDetected: ${{ steps.changed-files.outputs.allAddedOrModified }}
addedOrModifiedFiles: ${{ steps.changed-files.outputs.allAddedOrModified_files }}
addedOrModifiedCharts: ${{ steps.changed-charts.outputs.charts }}
addedOrModifiedLibraryCharts: ${{ steps.changed-charts.outputs.chartsLibrary }}
addedOrModifiedApplicationCharts: ${{ steps.changed-charts.outputs.chartsApplication }}
chartsToLint: ${{ steps.changed-charts.outputs.chartsToLint }}
chartsToInstall: ${{ steps.changed-charts.outputs.chartsToInstall }}
steps:

View file

@ -35,16 +35,15 @@ jobs:
checkoutCommit: ${{ github.sha }}
chartsToLint: ${{ needs.pr-metadata.outputs.chartsToLint }}
isRenovatePR: ${{ needs.pr-metadata.outputs.isRenovatePR }}
overrideDeps: |-
${{
(
needs.pr-metadata.outputs.commonLibraryUpdated &&
'[{"name": "common", "repository": "file://../../library/common", "version": "*"}]'
) || '[]'
}}
charts-test:
uses: ./.github/workflows/charts-test.yaml
needs:
- pr-metadata
with:
checkoutCommit: ${{ github.sha }}
chartsToTest: ${{ needs.pr-metadata.outputs.chartsToInstall }}
library-charts-test:
uses: ./.github/workflows/charts-test.yaml
needs:
- pr-metadata
@ -52,12 +51,15 @@ jobs:
checkoutCommit: ${{ github.sha }}
chartsToTest: |-
${{
(
contains(fromJSON(needs.pr-metadata.outputs.addedOrModifiedCharts), 'library/common') &&
'["other/app-template"]'
) || '[]'
}}
(
needs.pr-metadata.outputs.commonLibraryUpdated &&
'["other/app-template"]'
) || needs.pr-metadata.outputs.chartsToInstall
}}
overrideDeps: |-
[
{"name": "common", "repository": "file://../../library/common", "version": "*"}
]
${{
(
needs.pr-metadata.outputs.commonLibraryUpdated &&
'[{"name": "common", "repository": "file://../../library/common", "version": "*"}]'
) || '[]'
}}