#170 Moved to pytest-exasol-backend #562
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.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python & Poetry Environment | |
uses: exasol/python-toolbox/.github/actions/[email protected] | |
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 Unit Tests | |
run: poetry run nox -s test:unit | |
- 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/[email protected] | |
with: | |
python-version: "3.10" | |
poetry-version: "1.2.2" | |
- name: Run Integration 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=onprem test/integration | |
gate-2: | |
name: Gate 2 - Allow Merge | |
runs-on: ubuntu-latest | |
needs: [ run-slow-tests ] | |
steps: | |
- name: Branch Protection | |
run: true |