Skip to content

Allow customizing init job #683

Allow customizing init job

Allow customizing init job #683

Workflow file for this run

name: ci
permissions: read-all
on:
pull_request:
branches:
- main
env:
helm-version: "v3.14.4"
kubeconform-version: "v0.6.4"
jobs:
super-linter:
permissions:
statuses: write
runs-on: ubuntu-22.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Lint Code Base
uses: github/super-linter/slim@v6
env:
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINTER_RULES_PATH: .github/linters
VALIDATE_ALL_CODEBASE: false
VALIDATE_JSCPD: false
VALIDATE_KUBERNETES_KUBECONFORM: false
VALIDATE_YAML: false
lint-chart:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: "${{ env.helm-version }}"
- uses: actions/setup-python@v5
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (lint)
run: ct lint --config .github/ct.yaml
kubeconform-chart:
runs-on: ubuntu-22.04
needs:
- lint-chart
- super-linter
strategy:
matrix:
k8s:
- v1.27.10
- v1.28.6
- v1.29.1
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: "${{ env.helm-version }}"
- name: Run kubeconform
env:
KUBERNETES_VERSION: ${{ matrix.k8s }}
KUBECONFORM_VERSION: "${{ env.kubeconform-version }}"
run: .github/kubeconform.sh
install-chart:
name: install-chart
runs-on: ubuntu-22.04
needs:
- kubeconform-chart
strategy:
matrix:
k8s:
# Versions of kindest/node
- v1.27.10
- v1.28.6
- v1.29.1
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: "${{ env.helm-version }}"
- uses: actions/setup-python@v5
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (list-changed)
id: list-changed
run: if [[ -n "$(ct list-changed --config .github/ct.yaml)" ]]; then echo 'changed=true' >> "$GITHUB_OUTPUT"; fi
- name: Create kind cluster
uses: helm/kind-action@v1.10.0
if: steps.list-changed.outputs.changed == 'true'
with:
config: .github/kind-config.yaml
node_image: kindest/node:${{ matrix.k8s }}
- name: Create Namespace 'zammad'
run: kubectl create namespace zammad
- name: Install additional objects for 'full' test scenario
run: kubectl create --namespace zammad --filename zammad/ci/full-objects.yaml
- name: Run chart-testing (install)
run: ct install --config .github/ct.yaml --helm-extra-args '--timeout 900s'