name: K8s Deploy Test on: pull_request: branches: '*' push: branches: '*' paths: - '!**' - '.gitea/workflows/triggers/test-k8s-deploy' - '.gitea/workflows/test-k8s-deploy.yml' - 'tests/k8s-deploy/run-deploy-test.sh' schedule: # Note: coordinate with other tests to not overload runners at the same time of day - cron: '3 15 * * *' jobs: test: name: "Run deploy test suite on kind/k8s" runs-on: ubuntu-22.04 steps: - name: "Clone project repository" uses: actions/checkout@v3 # At present the stock setup-python action fails on Linux/aarch64 # Conditional steps below workaroud this by using deadsnakes for that case only - name: "Install Python for ARM on Linux" if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }} uses: deadsnakes/action@v3.0.1 with: python-version: '3.8' - name: "Install Python cases other than ARM on Linux" if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }} uses: actions/setup-python@v4 with: python-version: '3.8' - name: "Print Python version" run: python3 --version - name: "Install shiv" run: pip install shiv - name: "Generate build version file" run: ./scripts/create_build_tag_file.sh - name: "Build local shiv package" run: ./scripts/build_shiv_package.sh - name: "Check cgroups version" run: mount | grep cgroup - name: "Install kind" run: ./tests/scripts/install-kind.sh - name: "Install Kubectl" run: ./tests/scripts/install-kubectl.sh - name: "Run k8s deployment test" run: | source /opt/bash-utils/cgroup-helper.sh join_cgroup ./tests/k8s-deploy/run-deploy-test.sh - name: Notify Vulcanize Slack on CI failure if: ${{ always() && github.ref_name == 'main' }} uses: ravsamhq/notify-slack-action@v2 with: status: ${{ job.status }} notify_when: 'failure' env: SLACK_WEBHOOK_URL: ${{ secrets.VULCANIZE_SLACK_CI_ALERTS }} - name: Notify DeepStack Slack on CI failure if: ${{ always() && github.ref_name == 'main' }} uses: ravsamhq/notify-slack-action@v2 with: status: ${{ job.status }} notify_when: 'failure' env: SLACK_WEBHOOK_URL: ${{ secrets.DEEPSTACK_SLACK_CI_ALERTS }}