name: Container Registry Test on: push: branches: '*' paths: - '!**' - '.gitea/workflows/triggers/test-container-registry' - '.gitea/workflows/test-container-registry.yml' - 'tests/container-registry/run-test.sh' schedule: # Note: coordinate with other tests to not overload runners at the same time of day - cron: '6 19 * * *' jobs: test: name: "Run contaier registry hosting test 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: "Install ed" # Only needed until we remove the need to edit the spec file run: apt update && apt install -y ed - name: "Run container registry deployment test" run: | source /opt/bash-utils/cgroup-helper.sh join_cgroup ./tests/container-registry/run-test.sh - name: Notify Slack on CI failure if: always() uses: ravsamhq/notify-slack-action@v2 with: status: ${{ job.status }} notify_when: 'failure' env: SLACK_WEBHOOK_URL: ${{ secrets.DEEPSTACK_SLACK_CI_ALERTS }}