mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-03 16:37: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": "*"}]'
|
||||
) || '[]'
|
||||
}}
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||
name: common
|
||||
description: Function library for Helm charts
|
||||
type: library
|
||||
version: 0.2.1
|
||||
version: 0.2.2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- common
|
||||
|
@ -14,16 +14,6 @@ maintainers:
|
|||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: fixed
|
||||
description: Make sure service.monitor is optional.
|
||||
- kind: removed
|
||||
description: BREAKING - Removed support for the `openvpn` and `wireguard` VPN types.
|
||||
- kind: added
|
||||
description: Added support for adding serviceMonitors to services.
|
||||
description: Fix deprecation warning on unsupported vpn types.
|
||||
- kind: changed
|
||||
description: ConfigMap checksum logic now only looks at ConfigMap data
|
||||
- kind: changed
|
||||
description: Explicitly convert defaultMode to decimal notation in code-server addon.
|
||||
- kind: changed
|
||||
description: Updated gluetun image to v3.31.1
|
||||
- kind: changed
|
||||
description: Updated code-server image to v4.7.0
|
||||
description: Updated code-server image to v4.7.1
|
||||
|
|
|
@ -5,11 +5,11 @@ It will include / inject the required templates based on the given values.
|
|||
{{- define "common.addon.vpn" -}}
|
||||
{{- if .Values.addons.vpn.enabled -}}
|
||||
{{- if eq "openvpn" .Values.addons.vpn.type -}}
|
||||
{{- fail "The 'openvpn' VPN type is no longer supported. Please migrate to the 'gluetun' type." . }}
|
||||
{{- fail "The 'openvpn' VPN type is no longer supported. Please migrate to the 'gluetun' type." }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq "wireguard" .Values.addons.vpn.type -}}
|
||||
{{- fail "The 'wireguard' VPN type is no longer supported. Please migrate to the 'gluetun' type." . }}
|
||||
{{- fail "The 'wireguard' VPN type is no longer supported. Please migrate to the 'gluetun' type." }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if eq "gluetun" .Values.addons.vpn.type -}}
|
||||
|
|
|
@ -604,7 +604,7 @@ addons:
|
|||
# -- Specify the code-server image
|
||||
repository: ghcr.io/coder/code-server
|
||||
# -- Specify the code-server image tag
|
||||
tag: 4.7.0
|
||||
tag: 4.7.1
|
||||
# -- Specify the code-server image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
apiVersion: v2
|
||||
description: A common powered chart template. This can be useful for small projects that don't have their own chart.
|
||||
name: app-template
|
||||
version: 0.2.1
|
||||
version: 0.2.2
|
||||
maintainers:
|
||||
- name: bjw-s
|
||||
email: me@bjw-s.dev
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s.github.io/helm-charts
|
||||
version: 0.2.1
|
||||
version: 0.2.2
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: |
|
||||
Updated library version to 0.2.1 (**BREAKING** when coming from < 0.2.0).
|
||||
Updated library version to 0.2.2.
|
||||
links:
|
||||
- name: Common library chart definition
|
||||
url: https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/Chart.yaml
|
||||
|
|
|
@ -21,7 +21,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -48,7 +48,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -83,5 +83,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -79,5 +79,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -19,7 +19,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: retain enabled should pass
|
||||
set:
|
||||
|
@ -42,7 +42,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -68,7 +68,7 @@ tests:
|
|||
app.kubernetes.io/instance: RELEASE-NAME
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -102,5 +102,5 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
|
@ -18,7 +18,7 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
|
||||
- it: custom metadata should pass
|
||||
set:
|
||||
|
@ -45,7 +45,7 @@ tests:
|
|||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
||||
- it: custom metadata with global metadata should pass
|
||||
|
@ -80,5 +80,5 @@ tests:
|
|||
app.kubernetes.io/name: RELEASE-NAME
|
||||
app.kubernetes.io/service: RELEASE-NAME
|
||||
global_label: test
|
||||
helm.sh/chart: app-template-0.2.0
|
||||
helm.sh/chart: app-template-0.2.2
|
||||
test_label: test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue