Add polkadot umbrella chart #548
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linting & Integration tests | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/[email protected] | |
with: | |
version: v3.12.1 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Install pre-commit and helm-docs | |
run: | | |
pip install pre-commit==3.6.0 | |
curl -fSsL -o - https://github.com/norwoodj/helm-docs/releases/download/v1.12.0/helm-docs_1.12.0_Linux_x86_64.tar.gz | tar -xz -C /usr/local/bin helm-docs | |
- name: Run pre-commit hooks | |
run: pre-commit run --all-files | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Install additional Helm repos | |
run: | | |
helm repo add bitnami https://charts.bitnami.com/bitnami | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) | |
if [[ -n "$changed" ]]; then | |
echo "changed=$(echo "$changed" | tr '\n' ',' | sed 's/,$/\n/')" >> $GITHUB_OUTPUT | |
fi | |
- name: Run chart-testing (lint) | |
run: | | |
ct lint \ | |
--target-branch ${{ github.event.repository.default_branch }} \ | |
--lint-conf chart-testing/lintconf.yaml \ | |
--charts ${{ steps.list-changed.outputs.changed }} | |
if: steps.list-changed.outputs.changed | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
with: | |
node_image: kindest/node:v1.28.0 | |
config: chart-testing/kind-config.yaml | |
wait: 5m | |
if: steps.list-changed.outputs.changed | |
- name: Replace secrets in Helm charts | |
env: | |
# TODO: rename the secret to avoid confusion | |
SMF_CONFIG_MATRIX_ACCESS_TOKEN: ${{ secrets.SMF_BOT_MATRIX_ACCESS_TOKEN }} | |
STAKING_MINER_CONFIG_SEED: ${{ secrets.STAKING_MINER_CONFIG_SEED }} | |
run: | | |
shopt -s globstar | |
for f in $(find **/ci/*-values.yaml); do | |
sed -i "s/__GITHUB_SECRET_SMF_CONFIG_MATRIX_ACCESS_TOKEN/$SMF_CONFIG_MATRIX_ACCESS_TOKEN/g" $f | |
sed -i "s/__GITHUB_SECRET_STAKING_MINER_CONFIG_SEED/$STAKING_MINER_CONFIG_SEED/g" $f | |
done | |
if: steps.list-changed.outputs.changed | |
- name: Run chart-testing (install) | |
run: | | |
# Exclude charts/node as it is covered by proper tests. Exclude more charts if needed | |
CHARTS_WITHOUT_TESTS=$(printf "${{ steps.list-changed.outputs.changed }}" | sed -E 's|charts/node,?||g') | |
if [[ -n "$CHARTS_WITHOUT_TESTS" ]]; then | |
ct install \ | |
--target-branch ${{ github.event.repository.default_branch }} \ | |
--charts $CHARTS_WITHOUT_TESTS | |
fi | |
if: steps.list-changed.outputs.changed | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.20' | |
cache-dependency-path: "charts/**/ginkgo/go.sum" | |
if: steps.list-changed.outputs.changed | |
- name: Run ginkgo tests | |
run: | | |
export KUBECONFIG=~/.kube/config | |
CHANGED_CHARTS=${{ steps.list-changed.outputs.changed }} | |
for chart in ${CHANGED_CHARTS//,/$IFS}; do | |
if [[ -f $chart/ci/Makefile ]]; then | |
pushd $chart/ci && make test | |
popd | |
fi | |
done | |
if: steps.list-changed.outputs.changed | |
validate-manifests: | |
runs-on: ubuntu-latest | |
container: docker.io/paritytech/kube-manifests-validation:k8s-1.25.9-gator-3.12.0-datree-1.9.19-9196b4c | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- run: | | |
git config --system --add safe.directory $GITHUB_WORKSPACE | |
git fetch origin "+${GITHUB_BASE_REF}:${GITHUB_BASE_REF}" | |
- name: Validate manifests | |
run: | | |
/app/validate-k8s-manifests.sh \ | |
--datree-policy-config /app/datree-policies.yaml \ | |
--git-ref-changed-paths $GITHUB_BASE_REF \ | |
--skip-gatekeeper \ | |
charts |