[node] add tpl to init containers #570
Workflow file for this run
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/setup-helm@v3.5 | |
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/chart-testing-action@v2.3.1 | |
- 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/kind-action@v1.7.0 | |
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.28.5-gator-3.12.0-datree-1.9.19-261faca | |
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 |