mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-03-04 18:50:31 +00:00
87 lines
3.0 KiB
YAML
87 lines
3.0 KiB
YAML
name: Helm Chart
|
|
|
|
on:
|
|
push:
|
|
branches: [ "*" ]
|
|
tags: [ "helm-v*" ]
|
|
pull_request:
|
|
branches: [ "*" ]
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: azure/setup-helm@v1
|
|
with:
|
|
version: 3.3.4
|
|
- name: Linting Chart
|
|
run: helm lint ./charts/capsule
|
|
- name: Setup Chart Linting
|
|
id: lint
|
|
uses: helm/chart-testing-action@v2.3.0
|
|
- name: Run chart-testing (list-changed)
|
|
id: list-changed
|
|
run: |
|
|
changed=$(ct list-changed --config ./.github/configs/ct.yaml)
|
|
if [[ -n "$changed" ]]; then
|
|
echo "::set-output name=changed::true"
|
|
fi
|
|
- name: Run chart-testing (lint)
|
|
run: ct lint --debug --config ./.github/configs/ct.yaml --lint-conf ./.github/configs/lintconf.yaml
|
|
- name: Run docs-testing (helm-docs)
|
|
id: helm-docs
|
|
run: |
|
|
make helm-docs
|
|
if [[ $(git diff --stat) != '' ]]; then
|
|
echo -e '\033[0;31mDocumentation outdated! (Run make helm-docs locally and commit)\033[0m ❌'
|
|
git diff --color
|
|
exit 1
|
|
else
|
|
echo -e '\033[0;32mDocumentation up to date\033[0m ✔'
|
|
fi
|
|
|
|
# ATTENTION: This is a workaround for the upcoming ApiVersion Conversions for the capsule CRDs
|
|
# With this workflow the current docker image is build and loaded into kind, otherwise the install fails
|
|
# In the future this must be removed and the chart-testing-action must be used
|
|
- name: Run chart-testing (install)
|
|
run: make helm-test
|
|
if: steps.list-changed.outputs.changed == 'true'
|
|
|
|
## Create KIND Cluster
|
|
#- name: Create kind cluster
|
|
# uses: helm/kind-action@v1.2.0
|
|
# if: steps.list-changed.outputs.changed == 'true'
|
|
## Install Required Operators/CRDs
|
|
#- name: Prepare Cluster Operators/CRDs
|
|
# run: |
|
|
# # Cert-Manager CRDs
|
|
# kubectl create -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.crds.yaml
|
|
#
|
|
# # Prometheus CRDs
|
|
# kubectl create -f https://github.com/prometheus-operator/prometheus-operator/releases/download/v0.58.0/bundle.yaml
|
|
# if: steps.list-changed.outputs.changed == 'true'
|
|
## Install Charts
|
|
#- name: Run chart-testing (install)
|
|
# run: ct install --debug --config ./.github/configs/ct.yaml
|
|
# if: steps.list-changed.outputs.changed == 'true'
|
|
release:
|
|
if: startsWith(github.ref, 'refs/tags/helm-v')
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Publish Helm chart
|
|
uses: stefanprodan/helm-gh-pages@master
|
|
with:
|
|
token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
|
charts_dir: charts
|
|
charts_url: https://clastix.github.io/charts
|
|
owner: clastix
|
|
repository: charts
|
|
branch: gh-pages
|
|
target_dir: .
|
|
commit_username: prometherion
|
|
commit_email: dario@tranchitella.eu
|