mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 00:47:04 +02:00
ci: Update CI
This commit is contained in:
parent
8703597123
commit
7798202759
16 changed files with 102 additions and 71 deletions
15
.github/workflows/charts-lint.yaml
vendored
15
.github/workflows/charts-lint.yaml
vendored
|
@ -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
|
||||
|
|
29
.github/workflows/charts-release-ghpages.yaml
vendored
29
.github/workflows/charts-release-ghpages.yaml
vendored
|
@ -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'
|
||||
|
|
19
.github/workflows/charts-release.yaml
vendored
19
.github/workflows/charts-release.yaml
vendored
|
@ -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
|
||||
|
|
4
.github/workflows/pr-metadata.yaml
vendored
4
.github/workflows/pr-metadata.yaml
vendored
|
@ -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:
|
||||
|
|
34
.github/workflows/pr-validate.yaml
vendored
34
.github/workflows/pr-validate.yaml
vendored
|
@ -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": "*"}]'
|
||||
) || '[]'
|
||||
}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue