feat: Move Linting to Github Actions

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Disable ServiceAccount on disabled Dex

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Swap Linting to Github

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Increase all chart versions

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Remove Circle & Improve Github Lint

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Remove Circle & Improve Github Lint

Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com>

Lookup Configmaps

update

Retest

Retest

reduce changes

reduce changes
This commit is contained in:
Oliver Bähler 2021-03-08 23:34:05 +01:00
parent abcd61717f
commit 2379903475
No known key found for this signature in database
GPG key ID: 7AE0B2618ECDC1B6
10 changed files with 82 additions and 38 deletions

View file

@ -1,4 +0,0 @@
chart-repos:
- argo=https://argoproj.github.io/argo-helm
- minio=https://helm.min.io/
- dandydeveloper=https://dandydeveloper.github.io/charts/

View file

@ -1,12 +1,5 @@
version: 2.1
jobs:
lint:
docker:
- image: quay.io/helmpack/chart-testing:v3.3.1
steps:
- checkout
- run: helm repo add stable https://charts.helm.sh/stable
- run: ct lint --config .circleci/chart-testing.yaml --lint-conf .circleci/lintconf.yaml
# Technically this only needs to be run on master, but it's good to have it run on every PR
# so that it is regularly tested.
publish:
@ -21,6 +14,8 @@ jobs:
- checkout
- run: helm repo add stable https://charts.helm.sh/stable
- run: helm repo add minio https://helm.min.io/
- run: helm repo add minio-operator https://operator.min.io/
- run: helm repo add argo https://argoproj.github.io/argo-helm
- run: helm repo add dandydeveloper https://dandydeveloper.github.io/charts/
# Only actually publish charts on master.
- run: |
@ -35,7 +30,4 @@ workflows:
version: 2
workflow:
jobs:
- lint
- publish:
requires:
- lint
- publish

1
.github/stale.yml vendored
View file

@ -1 +0,0 @@
# See https://github.com/probot/stale

45
.github/workflows/lint-and-test.yml vendored Normal file
View file

@ -0,0 +1,45 @@
## Reference: https://github.com/helm/chart-testing-action
---
name: Linting and Testing
on: pull_request
jobs:
chart-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v1
- name: Set up python
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Setup Chart Linting
id: lint
uses: helm/chart-testing-action@v2.0.1
- name: List changed charts
id: list-changed
run: |
## If executed with debug this won't work anymore.
changed=$(ct --config ./ct.yaml list-changed)
charts=$(echo "$changed" | tr '\n' ' ' | xargs)
if [[ -n "$changed" ]]; then
echo "::set-output name=changed::true"
echo "::set-output name=changed_charts::$charts"
fi
- name: Run chart-testing (lint)
run: ct lint --debug --config ./ct.yaml --lint-conf ./lintconf.yaml
- name: Create kind cluster
uses: helm/kind-action@v1.1.0
if: steps.list-changed.outputs.changed == 'true'
- name: Run chart-testing (install)
run: ct install --config ./ct.yaml
if: steps.list-changed.outputs.changed == 'true'

View file

@ -1,14 +1,10 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:

View file

@ -1,7 +1,7 @@
apiVersion: v2
description: A Helm chart to install Argo-Events in k8s Cluster
name: argo-events
version: 1.3.1
version: 1.3.2
keywords:
- argo-events
- sensor-controller

View file

@ -1,6 +1,6 @@
serviceAccount: argo-events-sa-test
additionalSaNamespaces:
- nsone
- nstwo
# additionalSaNamespaces:
# - nsone
# - nstwo
instanceID: test-argo-events
singleNamespace: false

18
ct.yaml Normal file
View file

@ -0,0 +1,18 @@
## Reference: https://github.com/helm/chart-testing/blob/master/doc/ct_lint-and-install.md
# Don't add the 'debug' attribute, otherwise the workflow won't work anymore
remote: origin
chart-dirs:
- charts
chart-repos:
- argo=https://argoproj.github.io/argo-helm
- minio=https://helm.min.io/
- minio-operator=https://operator.min.io/
- dandydeveloper=https://dandydeveloper.github.io/charts/
- stable=https://charts.helm.sh/stable
- incubator=https://charts.helm.sh/incubator
helm-extra-args: "--timeout 600s"
validate-chart-schema: false
validate-maintainers: true
validate-yaml: true
exclude-deprecated: true
excluded-charts: []

View file

@ -1,19 +1,17 @@
#!/bin/bash
# This script runs the chart-testing tool locally. It simulates the linting that is also done by the github action. Run this without any errors before pushing.
# Reference: https://github.com/helm/chart-testing
set -eux
SRCROOT="$(cd "$(dirname "$0")/.." && pwd)"
for dir in $(find $SRCROOT/charts -mindepth 1 -maxdepth 1 -type d);
do
rm -rf $dir/charts
name=$(basename $dir)
echo "Running Helm linting for $name"
docker run \
-v "$SRCROOT:/workdir" \
gcr.io/kubernetes-charts-ci/test-image:v3.1.0 \
ct \
lint \
--config .circleci/chart-testing.yaml \
--lint-conf .circleci/lintconf.yaml \
--charts "/workdir/charts/${name}"
done
echo -e "\n-- Linting all Helm Charts --\n"
docker run \
-v "$SRCROOT:/workdir" \
--entrypoint /bin/sh \
quay.io/helmpack/chart-testing:v3.3.1 \
-c cd /workdir \
ct lint \
--config ct.yaml \
--lint-conf lintconf.yaml \
--debug