Refactor GitHub workflows and prepare release 0.12.0 #510
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: CI | |
on: | |
push: | |
branches-ignore: | |
- "github-pages/*" | |
- "gh-pages/*" | |
- "main" | |
- "master" | |
pull_request: | |
types: [opened, reopened] | |
schedule: | |
# “At 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru) | |
- cron: "0 0 1/7 * *" | |
jobs: | |
ci-job: | |
name: Checks | |
uses: ./.github/workflows/checks.yml | |
fast-tests: | |
name: Tests (Python-${{ matrix.python-version }}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python & Poetry Environment | |
uses: exasol/python-toolbox/.github/actions/python-environment@0.12.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
poetry-version: 1.2.2 | |
- name: Checkout ITDE | |
run: git clone https://github.com/exasol/integration-test-docker-environment.git | |
working-directory: .. | |
- name: Start EXASOL Test-Docker-Environment (ITDE) | |
run: ./start-test-env spawn-test-environment --environment-name test --database-port-forward 8888 --bucketfs-port-forward 6666 --db-mem-size 4GB | |
working-directory: ../integration-test-docker-environment | |
- name: Run Tests | |
run: poetry run pytest tests | |
metrics: | |
needs: [ fast-tests ] | |
uses: ./.github/workflows/report.yml | |
gate-1: | |
name: Gate 1 - Regular CI | |
needs: [ fast-tests ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Branch Protection | |
run: true | |
slow-test-detection: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Detect Slow Tests | |
run: true | |
environment: | |
slow-tests | |
run-slow-tests: | |
runs-on: ubuntu-latest | |
needs: [ slow-test-detection ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python & Poetry Environment | |
uses: exasol/python-toolbox/.github/actions/python-environment@0.12.0 | |
with: | |
python-version: "3.10" | |
poetry-version: "1.2.2" | |
- name: Run SaaS Tests | |
env: | |
SAAS_HOST: ${{ secrets.INTEGRATION_TEAM_SAAS_STAGING_HOST }} | |
SAAS_ACCOUNT_ID: ${{ secrets.INTEGRATION_TEAM_SAAS_STAGING_ACCOUNT_ID }} | |
SAAS_PAT: ${{ secrets.INTEGRATION_TEAM_SAAS_STAGING_PAT }} | |
run: poetry run pytest test_saas | |
gate-2: | |
name: Gate 2 - Allow Merge | |
runs-on: ubuntu-latest | |
needs: [ run-slow-tests ] | |
steps: | |
- name: Branch Protection | |
run: true |