Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
c8d98d0
Added experimental code to control test case selection
ckunki May 22, 2024
ba50118
Fixed experimental code to control test case selection
ckunki May 22, 2024
0aabd34
Handle double quotes in GitHub env variables
ckunki May 22, 2024
338b980
Removed experimental code and added documentation
ckunki May 22, 2024
9422cc7
Update doc/developer_guide/developer_guide.md
kaklakariada May 22, 2024
7abe7d6
Fixed detection for running slow tests
ckunki May 22, 2024
0d67aad
May 23rd workflow experiment 1
ckunki May 23, 2024
a60a75e
May 23rd workflow experiment 2
ckunki May 23, 2024
c8c1b29
May 23rd workflow experiment 3
ckunki May 23, 2024
a9c6df9
May 23rd workflow experiment 4
ckunki May 23, 2024
b4ae8bd
May 23rd workflow experiment 5
ckunki May 23, 2024
5c2b14b
May 23rd workflow experiment 6
ckunki May 23, 2024
95f96fd
May 23rd workflow experiment 7
ckunki May 23, 2024
4257767
May 23rd workflow experiment 8
ckunki May 23, 2024
521d4cb
May 23rd workflow experiment 9
ckunki May 23, 2024
adbe51f
May 23rd workflow experiment 10
ckunki May 23, 2024
5cb2096
May 23rd workflow experiment 11
ckunki May 23, 2024
eed208f
May 23rd workflow experiment 12
ckunki May 23, 2024
4463267
May 23rd workflow experiment 13
ckunki May 23, 2024
1d3226a
May 23rd workflow experiment 14
ckunki May 23, 2024
9b20d8c
May 23rd workflow experiment 15
ckunki May 23, 2024
4482fad
May 23rd workflow experiment 16
ckunki May 23, 2024
869bd9c
May 23rd workflow experiment 17
ckunki May 23, 2024
fcde267
May 23rd workflow experiment 18
ckunki May 23, 2024
da620fb
May 23rd workflow experiment 19
ckunki May 23, 2024
5cc45a0
May 23rd workflow experiment 20
ckunki May 23, 2024
93ed979
May 23rd workflow experiment 21
ckunki May 23, 2024
15a926b
May 23rd workflow experiment 22
ckunki May 23, 2024
0107231
Merge branch 'main' into refactoring/#53-Separated_long-running_tests
ckunki May 23, 2024
0e6f3a8
Fixed workflow graph
ckunki May 23, 2024
e5a610b
Updated Workflowname of Checks to reflect matrix
ckunki May 23, 2024
4197069
Updated Workflowname of Checks to reflect matrix
ckunki May 23, 2024
2e1008a
Added instructions for running slow tests to developer guide
ckunki May 24, 2024
fcc01b2
Updated strategy to listen on comments rather than labels
ckunki May 24, 2024
9c11089
Updated Developer Guide
ckunki May 24, 2024
8d4b284
Updated workflow files to use environment "slow-tests"
ckunki May 27, 2024
eca149b
Re-added pull request to workflow ci.yml
ckunki May 27, 2024
36af0f1
Re-generated API
ckunki May 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/check-api-outdated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ on:
# “At 4 am on every day.” (https://crontab.guru)
- cron: "0 4 * * *"


jobs:

check-api-outdated:
Expand Down
36 changes: 6 additions & 30 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@ jobs:
runs-on: ubuntu-latest

steps:

- name: SCM Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.8.0
uses: exasol/python-toolbox/.github/actions/python-environment@0.9.0

- name: Check Version(s)
run: poetry run version-check version.py
Expand Down Expand Up @@ -80,36 +79,13 @@ jobs:
run: poetry run nox -s type-check

tests-job:
name: Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}})
name: Tests (Python-${{ matrix.python-version }})
needs: [build-documentation-job, lint-job, type-check-job]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
exasol-version: ["7.1.9"]

steps:
- name: SCM Checkout
uses: actions/checkout@v3

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
python-version: ${{ matrix.python-version }}

- name: Run Tests and Calculate Coverage
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 }}
PYTEST_ADDOPTS: -o log_cli=true -o log_cli_level=INFO
run: |
export PROJECT_SHORT_TAG=$(poetry run nox -s get-project-short-tag)
poetry run nox -s coverage -- --

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: .coverage
path: .coverage
uses: ./.github/workflows/run-tests.yml
secrets: inherit
with:
python-version: ${{ matrix.python-version }}
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,28 @@ jobs:
metrics:
needs: [ ci-job ]
uses: ./.github/workflows/report.yml

gate-1:
name: Regular
needs: [ ci-job ]
steps:
step:
- name: Branch Protection
run: true

slow-tests:
uses: ./.github/workflows/run-tests.yml
secrets: inherit
with:
slow-tests: true
python-version: "3.10"
environment:
slow-tests

gate-2:
name: Merge
needs: [ slow-tests ]
steps:
step:
- name: Branch Protection
run: true
47 changes: 47 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Run Tests

on:
workflow_call:
inputs:
slow-tests:
type: boolean
default: false
python-version:
type: string
required: true

jobs:

tests-job:
runs-on: ubuntu-latest

steps:
- name: Set pytest markers
id: pytest-markers
if: ${{ ! inputs.slow-tests }}
run: echo slow-tests='-m "not slow"' >> "$GITHUB_OUTPUT"

- name: SCM Checkout
uses: actions/checkout@v3

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
python-version: ${{ inputs.python-version }}

- name: Run Tests and Calculate Coverage
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 }}
PYTEST_ADDOPTS: '-o log_cli=true -o log_cli_level=INFO ${{ steps.pytest-markers.outputs.slow-tests }}'
run: |
echo "PYTEST_ADDOPTS = $PYTEST_ADDOPTS"
export PROJECT_SHORT_TAG=$(poetry run nox -s get-project-short-tag)
poetry run nox -s coverage -- --

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: .coverage
path: .coverage
7 changes: 6 additions & 1 deletion doc/changes/unreleased.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Unreleased

## Refactoring

* #53: Separated long-running tests

## Features
- #55 Added publicly callable function finding the database id from its name.

* #55 Added publicly callable function finding the database id from its name.
8 changes: 8 additions & 0 deletions doc/developer_guide/developer_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ After generating the API,

## Run Tests

### Integration Tests

Executing the integration tests requires the following environment variables to be set:

| Variable | Description |
Expand All @@ -66,6 +68,12 @@ Executing the integration tests requires the following environment variables to
| `SAAS_ACCOUNT_ID` | ID of the Exasol SAAS account to be used by the tests |
| `SAAS_PAT` | Personal access token to access the SAAS API |

### Slow Tests

Some of the test cases verify connecting to a SaaS database instance and execution will take about 20 minutes.

These test cases are disabled by default and will only be executed by adding a comment `[run-slow-tests]` to your pull request.

## Creating a Release

### Prepare the Release
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 17 additions & 10 deletions exasol/saas/client/openapi/api/extensions/get_extension.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading