-
Notifications
You must be signed in to change notification settings - Fork 0
#154: Enabled multi-python slow tests #155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
17f44ac
7875564
31cca39
a78e714
381181f
062aee7
1cb349f
ee5bd0e
8c40fad
4584c96
8e2bc62
0ca19e9
2e86c75
6746ead
a6e9e66
ccba19f
fb4107d
8f0bc20
5c7c13d
14bab30
d41ce67
75dd021
813f223
5f2791b
fb33e33
4ce824f
797cbfe
ee3cc30
e3e4e93
898f06c
c76ef87
6de88a0
bcf2f78
2f5c203
1a24257
8d6ef94
25159f4
b20d1f1
e331242
cc6468e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| name: Build Matrix (All) | ||
|
|
||
| on: | ||
| workflow_call: | ||
| outputs: | ||
| matrix: | ||
| description: "Generates the full build matrix for Python & Exasol versions" | ||
| value: ${{ jobs.set-matrix-all.outputs.matrix }} | ||
|
|
||
| jobs: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it make sense, trying out to use the new features of PTB version 9 for additional matrix variables, here?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I guess for that we will need PTB 9. This repo is currently on 8. |
||
| set-matrix-all: | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: Check out Repository | ||
| id: check-out-repository | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Set up Python & Poetry Environment | ||
| id: set-up-python-and-poetry-environment | ||
| uses: exasol/python-toolbox/.github/actions/python-environment@v8 | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
|
|
||
| - name: Generate Matrix | ||
| id: generate-matrix | ||
| run: poetry run -- nox -s matrix:all | ||
|
|
||
| - name: Set Matrix | ||
| id: set-matrix | ||
| run: | | ||
| echo "matrix=$(poetry run -- nox -s matrix:all)" >> $GITHUB_OUTPUT | ||
|
|
||
| outputs: | ||
| matrix: ${{ steps.set-matrix.outputs.matrix }} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| name: Slow-Checks-ITDE | ||
|
|
||
| on: | ||
| workflow_call: | ||
|
|
||
| jobs: | ||
| build-matrix: | ||
| name: Build Matrix | ||
| uses: ./.github/workflows/matrix-all.yml | ||
| permissions: | ||
| contents: read | ||
|
|
||
| run-integration-tests: | ||
| name: Run Integration Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}}) | ||
| needs: | ||
| - build-matrix | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }} | ||
|
|
||
| steps: | ||
| - name: Allow unprivileged user namespaces | ||
| id: allow-unprivileged-user-namespaces | ||
| run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | ||
|
|
||
| - name: Free disk space | ||
| uses: jlumbroso/free-disk-space@main | ||
| with: | ||
| tool-cache: true | ||
| large-packages: false | ||
|
|
||
| - name: Free disk space by removing large directories | ||
| run: | | ||
| sudo rm -rf /usr/local/graalvm/ | ||
| sudo rm -rf /usr/local/.ghcup/ | ||
| sudo rm -rf /usr/local/share/powershell | ||
| sudo rm -rf /usr/local/share/chromium | ||
| sudo rm -rf /usr/local/lib/node_modules | ||
| sudo rm -rf /opt/ghc | ||
|
|
||
| - name: Check out Repository | ||
| id: check-out-repository | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Set up Python & Poetry Environment | ||
| id: set-up-python-and-poetry-environment | ||
| uses: exasol/python-toolbox/.github/actions/python-environment@v8 | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| poetry-version: "2.3.0" | ||
|
|
||
| - name: Run Integration Tests | ||
| id: run-integration-tests | ||
| run: > | ||
| poetry run -- nox -s test:integration -- -s --coverage | ||
| --backend=onprem | ||
| --db-version ${{ matrix.exasol-version }} | ||
|
|
||
| - name: Upload Artifacts | ||
| id: upload-artifacts | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: coverage-python${{ matrix.python-version }}-exasol${{ matrix.exasol-version }}-slow-itde | ||
| path: .coverage | ||
| include-hidden-files: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| name: Slow-Checks-SaaS | ||
|
|
||
| on: | ||
| workflow_call: | ||
|
|
||
| jobs: | ||
| run-integration-tests: | ||
| name: Run Integration Tests with SaaS (Python-3.12) | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
|
|
||
| steps: | ||
| - name: Allow unprivileged user namespaces | ||
| id: allow-unprivileged-user-namespaces | ||
| run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | ||
|
|
||
| - name: Check out Repository | ||
| id: check-out-repository | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Set up Python & Poetry Environment | ||
| id: set-up-python-and-poetry-environment | ||
| uses: exasol/python-toolbox/.github/actions/python-environment@v8 | ||
| with: | ||
| python-version: "3.12" | ||
| poetry-version: "2.3.0" | ||
|
|
||
| - name: Run Integration Tests | ||
| id: run-integration-tests | ||
| run: > | ||
| poetry run -- nox -s test:integration -- -s --coverage | ||
| --backend=saas | ||
| 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 }} | ||
|
|
||
| - name: Upload Artifacts | ||
| id: upload-artifacts | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: coverage-python3.12-slow-saas | ||
| path: .coverage | ||
| include-hidden-files: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,80 +1,19 @@ | ||
| # Please note that this workflow was manually adapted from the version generated | ||
| # by the Exasol Python Toolbox. | ||
| # | ||
| # 1. The matrix consists of backend type and Exasol version | ||
| # 2. Disabling AppArmor namespace restrictions is required to run dockerdb | ||
| # 3. To make sure space on the standard runner is freed up, | ||
| # unneeded large directories are removed | ||
| # | ||
| # Once the workflow patcher can do this modification without having to replace | ||
| # each workflow step individually, this workflow should be generated. | ||
|
|
||
| name: Slow-Checks | ||
|
|
||
| on: | ||
| workflow_call: | ||
|
|
||
| jobs: | ||
|
|
||
| run-integration-tests: | ||
| name: Integration Tests (${{ matrix.backend }}, ${{ matrix.exasol-version}}) | ||
| runs-on: "ubuntu-24.04" | ||
| run-slow-checks-itde: | ||
| name: Run Slow Checks with ITDE | ||
| uses: ./.github/workflows/slow-checks-itde.yml | ||
| secrets: inherit | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - backend: saas | ||
| exasol-version: provided | ||
| - backend: onprem | ||
| exasol-version: "2025.1.8" | ||
|
|
||
| steps: | ||
| - name: Allow unprivileged user namespaces | ||
| run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | ||
|
|
||
| - name: Free disk space | ||
| uses: jlumbroso/free-disk-space@main | ||
| with: | ||
| tool-cache: true | ||
| large-packages: false | ||
|
|
||
| - name: Free disk space by removing large directories | ||
| run: | | ||
| sudo rm -rf /usr/local/graalvm/ | ||
| sudo rm -rf /usr/local/.ghcup/ | ||
| sudo rm -rf /usr/local/share/powershell | ||
| sudo rm -rf /usr/local/share/chromium | ||
| sudo rm -rf /usr/local/lib/node_modules | ||
| sudo rm -rf /opt/ghc | ||
|
|
||
| - name: Check out Repository | ||
| id: check-out-repository | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Set up Python & Poetry Environment | ||
| id: set-up-python-and-poetry-environment | ||
| uses: exasol/python-toolbox/.github/actions/python-environment@v7 | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
|
|
||
| - name: Run Integration Tests | ||
| id: run-integration-tests | ||
| run: > | ||
| poetry run -- nox -s test:integration -- --coverage | ||
| --backend ${{ matrix.backend }} | ||
| --db-version ${{ matrix.exasol-version }} | ||
| 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 }} | ||
|
|
||
| - name: Upload Artifacts | ||
| id: upload-artifacts | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: coverage-python3.10-${{ matrix.backend }}-${{ matrix.exasol-version }} | ||
| path: .coverage | ||
| include-hidden-files: true | ||
| run-slow-checks-saas: | ||
| name: Run Slow Checks with SaaS | ||
| uses: ./.github/workflows/slow-checks-saas.yml | ||
| secrets: inherit | ||
| permissions: | ||
| contents: read |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update file
unreleased.md.