-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
1,498 additions
and
352 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,20 @@ | ||
name: Continues Integration (Master) | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
- master | ||
- main | ||
- "Test-Automation" | ||
branches: | ||
- "master" | ||
- "main" | ||
schedule: | ||
# “At 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru) | ||
- cron: "0 0 1/7 * *" | ||
|
||
jobs: | ||
verify: | ||
uses: ./.github/workflows/checks.yml | ||
|
||
examples: | ||
uses: ./.github/workflows/examples.yml | ||
|
||
ssl_cert: | ||
uses: ./.github/workflows/ssl_cert.yml |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,88 +1,81 @@ | ||
name: Examples | ||
|
||
on: | ||
push: | ||
paths: | ||
- "**.py" | ||
- "**.yml" | ||
pull_request: | ||
|
||
workflow_dispatch: | ||
workflow_call: | ||
|
||
jobs: | ||
examples: | ||
name: Run Examples | ||
# For all containers with versions 7.1.x and older versions 8.y.z of docker-db, | ||
# there will be a crash if UDFs (User Defined Functions) are utilized. | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 30 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- python-version: "3.11" | ||
exasol-tag: latest-7.1 | ||
exasol-port: 8563 | ||
|
||
name: "Build with Python ${{ matrix.python-version }} and Exasol ${{ matrix.exasol-tag }}" | ||
|
||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 15 | ||
|
||
services: | ||
exasol: | ||
image: exasol/docker-db:${{ matrix.exasol-tag }} | ||
ports: | ||
- 8563:${{ matrix.exasol-port }} | ||
options: --privileged | ||
|
||
python-version: ["3.11"] | ||
steps: | ||
- name: "Checkout repo (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
- name: "Checkout repo" | ||
uses: actions/checkout@v2 | ||
|
||
- name: "Setup Python (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
uses: actions/setup-python@v2 | ||
- name: "Setup Python & Poetry Environment" | ||
uses: exasol/python-toolbox/.github/actions/python[email protected] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: "Install dependencies (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
run: pip install -e .[pandas,ujson,rapidjson,orjson,examples] | ||
- name: "Install all extras" | ||
run: poetry install --all-extras | ||
|
||
- name: "Start test db" | ||
run: > | ||
poetry run itde spawn-test-environment --environment-name test | ||
--database-port-forward 8563 --bucketfs-port-forward 2580 | ||
--docker-db-image-version 7.1.17 --db-mem-size 4GB | ||
- name: "Wait for Exasol container (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
run: python examples/_wait_container.py | ||
- name: "Wait for Exasol container (UDF extraction)" | ||
run: poetry run python examples/_wait_container.py | ||
|
||
- name: "Run examples" | ||
run: | | ||
poetry run python examples/a00_prepare.py | ||
poetry run python examples/a01_basic.py | ||
poetry run python examples/a02_fetch_tuple.py | ||
poetry run python examples/a03_fetch_dict.py | ||
poetry run python examples/a04_fetch_mapper.py | ||
poetry run python examples/a05_formatting.py | ||
poetry run python examples/a06_transaction.py | ||
poetry run python examples/a07_exceptions.py | ||
poetry run python examples/a08_ext.py | ||
poetry run python examples/a09_abort_query.py | ||
poetry run python examples/a10_context_manager.py | ||
poetry run python examples/a11_insert_multi.py | ||
poetry run python examples/a12_meta.py | ||
poetry run python examples/a13_meta_nosql.py | ||
poetry run python examples/b01_pandas.py | ||
poetry run python examples/b02_import_export.py | ||
poetry run python examples/b03_parallel_export.py | ||
poetry run python examples/b04_parallel_import.py | ||
poetry run python examples/b05_parallel_export_import.py | ||
poetry run python examples/b06_http_transport_errors.py | ||
poetry run python examples/c01_redundancy.py | ||
poetry run python examples/c02_edge_case.py | ||
poetry run python examples/c03_db2_compat.py | ||
poetry run python examples/c04_encryption.py | ||
poetry run python examples/c05_session_params.py | ||
poetry run python examples/c06_local_config.py | ||
poetry run python examples/c07_profiling.py | ||
poetry run python examples/c08_snapshot_transactions.py | ||
poetry run python examples/c09_script_output.py | ||
poetry run python examples/c10_overload.py | ||
poetry run python examples/c11_quote_ident.py | ||
poetry run python examples/c12_thread_safety.py | ||
poetry run python examples/c13_dsn_parsing.py | ||
poetry run python examples/c14_http_proxy.py | ||
poetry run python examples/c15_garbage_collection.py | ||
poetry run python examples/j01_rapidjson.py | ||
poetry run python examples/j02_ujson.py | ||
poetry run python examples/j03_orjson.py | ||
- name: "Run examples (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
- name: "Stop test db" | ||
run: | | ||
python examples/a00_prepare.py | ||
python examples/a01_basic.py | ||
python examples/a02_fetch_tuple.py | ||
python examples/a03_fetch_dict.py | ||
python examples/a04_fetch_mapper.py | ||
python examples/a05_formatting.py | ||
python examples/a06_transaction.py | ||
python examples/a07_exceptions.py | ||
python examples/a08_ext.py | ||
python examples/a09_abort_query.py | ||
python examples/a10_context_manager.py | ||
python examples/a11_insert_multi.py | ||
python examples/a12_meta.py | ||
python examples/a13_meta_nosql.py | ||
python examples/b01_pandas.py | ||
python examples/b02_import_export.py | ||
python examples/b03_parallel_export.py | ||
python examples/b04_parallel_import.py | ||
python examples/b05_parallel_export_import.py | ||
python examples/b06_http_transport_errors.py | ||
python examples/c01_redundancy.py | ||
python examples/c02_edge_case.py | ||
python examples/c03_db2_compat.py | ||
python examples/c04_encryption.py | ||
python examples/c05_session_params.py | ||
python examples/c06_local_config.py | ||
python examples/c07_profiling.py | ||
python examples/c08_snapshot_transactions.py | ||
python examples/c09_script_output.py | ||
python examples/c10_overload.py | ||
python examples/c11_quote_ident.py | ||
python examples/c12_thread_safety.py | ||
python examples/c13_dsn_parsing.py | ||
python examples/c14_http_proxy.py | ||
python examples/c15_garbage_collection.py | ||
python examples/j01_rapidjson.py | ||
python examples/j02_ujson.py | ||
python examples/j03_orjson.py | ||
docker kill db_container_test |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1,43 @@ | ||
name: SSL certificate test | ||
|
||
on: | ||
push: | ||
paths: | ||
- "**.py" | ||
- "**.yml" | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
workflow_dispatch: | ||
workflow_call: | ||
|
||
jobs: | ||
ssl_cert: | ||
name: Build SSL-Cert | ||
# For all containers with versions 7.1.x and older versions 8.y.z of docker-db, | ||
# there will be a crash if UDFs (User Defined Functions) are utilized. | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 15 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- python-version: "3.11" | ||
exasol-tag: 7.1.6 | ||
name: "Build SSL-Cert with Python ${{ matrix.python-version }} and Exasol ${{ matrix.exasol-tag }}" | ||
|
||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 15 | ||
|
||
python-version: ["3.11"] | ||
steps: | ||
- name: "Checkout repo (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
- name: "Checkout repo" | ||
uses: actions/checkout@v2 | ||
|
||
- name: "Setup Python (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
uses: actions/setup-python@v2 | ||
- name: "Setup Python & Poetry Environment" | ||
uses: exasol/python-toolbox/.github/actions/python[email protected] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: "Install dependencies (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
run: pip install -e .[pandas] | ||
|
||
- name: "Checkout test environment (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: exasol/integration-test-docker-environment | ||
path: './test_env' | ||
ref: '1.7.1' | ||
- name: "Install all extras" | ||
run: poetry install --all-extras | ||
|
||
- name: "Spawn EXASOL environemnt (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
run: ./start-test-env spawn-test-environment --environment-name ssl --docker-db-image-version=${{ matrix.exasol-tag }} --database-port-forward 8888 --create-certificates | ||
working-directory: ./test_env | ||
- name: "Start test db" | ||
run: > | ||
poetry run itde spawn-test-environment --environment-name ssl | ||
--database-port-forward 8888 --bucketfs-port-forward 2580 | ||
--docker-db-image-version 7.1.17 --db-mem-size 4GB | ||
--create-certificates | ||
- name: "Pull certificate from container (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
- name: "Pull certificate from container" | ||
run: docker cp db_container_ssl:/certificates/rootCA.crt . | ||
|
||
- name: "Setup custom host (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
- name: "Setup custom host" | ||
run: echo "127.0.0.1 exasol-test-database" | sudo tee -a /etc/hosts | ||
|
||
- name: "Run test (Python ${{ matrix.python-version }} Exasol ${{ matrix.exasol-tag }})" | ||
run: python examples/_ssl_test.py | ||
- name: "Run test" | ||
run: poetry run python examples/_ssl_test.py |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,3 +16,5 @@ build/ | |
.vscode | ||
|
||
.DS_Store | ||
|
||
.build_output/ |
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
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
Oops, something went wrong.