#170 Moved to pytest-exasol-backend #554
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: | |
pull_request: | |
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.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python & Poetry Environment | |
uses: exasol/python-toolbox/.github/actions/python-environment@0.14.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 nox -s coverage | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: .coverage | |
path: .coverage | |
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: | |
name: Run Slow or Expensive Tests (e.g. SaaS)? | |
runs-on: ubuntu-latest | |
steps: | |
- name: Detect Slow Tests | |
run: true | |
environment: | |
slow-tests | |
run-slow-tests: | |
name: Run Slow or Expensive Tests (e.g. SaaS) if Requested | |
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.14.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 --backend=saas test_saas | |
gate-2: | |
name: Gate 2 - Allow Merge | |
runs-on: ubuntu-latest | |
needs: [ run-slow-tests ] | |
steps: | |
- name: Branch Protection | |
run: true |