change description #947
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
on: [push] | |
name: Postgres NDC tests | |
jobs: | |
test-unit: | |
strategy: | |
matrix: | |
package: | |
- query-engine-execution | |
- query-engine-metadata | |
- query-engine-sql | |
- query-engine-translation | |
- tests-common | |
name: test unit | |
runs-on: ubuntu-latest | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
RUSTFLAGS: "-D warnings" # fail on warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install tools | |
run: | | |
rustup show | |
# install cargo-nextest | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "build" # share the cache across jobs | |
save-if: false | |
- name: run tests | |
run: | | |
cargo nextest run --no-fail-fast --release --filter-expr='package(${{ matrix.package }})' | |
env: | |
RUST_LOG: INFO | |
test-connector: | |
strategy: | |
matrix: | |
package: | |
- ndc-postgres-12 | |
- ndc-postgres-13 | |
- ndc-postgres-14 | |
- ndc-postgres-15 | |
- ndc-postgres-16 | |
name: test connector | |
runs-on: ubuntu-latest | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
RUSTFLAGS: "-D warnings" # fail on warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "25.x" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: install tools | |
run: | | |
rustup show | |
# install cargo-nextest | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "build" # share the cache across jobs | |
save-if: false | |
- id: configuration | |
name: extract job configuration | |
run: | | |
echo "configuration=$(jq -c --arg package '${{ matrix.package }}' '.[$package]' .github/test-configuration.json)" >> "$GITHUB_OUTPUT" | |
- name: start dependencies | |
uses: isbang/[email protected] | |
with: | |
compose-file: "./docker-compose.yaml" | |
down-flags: "--volumes" | |
services: | | |
${{ fromJSON(steps.configuration.outputs.configuration).services }} | |
env: | |
POSTGRESQL_VERSION: ${{ fromJSON(steps.configuration.outputs.configuration).env.POSTGRESQL_VERSION }} | |
- name: run tests | |
run: | | |
cargo nextest run --no-fail-fast --release --features ${{ env.FEATURE_NAME }} --filter-expr='package(databases-tests) and (${{ env.FILTER }})' | |
env: | |
POSTGRESQL_CONNECTION_STRING: ${{ fromJSON(steps.configuration.outputs.configuration).env.POSTGRESQL_CONNECTION_STRING }} | |
FEATURE_NAME: ${{ fromJSON(steps.configuration.outputs.configuration).feature }} | |
FILTER: ${{ fromJSON(steps.configuration.outputs.configuration).filter || 'all()' }} | |
RUST_LOG: INFO | |
# scream into Slack if something goes wrong | |
- name: report status | |
if: always() && github.ref == 'refs/heads/main' | |
uses: ravsamhq/notify-slack-action@v2 | |
with: | |
status: ${{ job.status }} | |
notify_when: failure | |
notification_title: "😧 Error on <{repo_url}|{repo}>" | |
message_format: "🐴 *{workflow}* {status_message} for <{repo_url}|{repo}>" | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.BROKEN_BUILD_SLACK_WEBHOOK_URL }} | |
test-ndc-postgres-with-aurora: | |
name: test connector (ndc-postgres on AWS Aurora) | |
runs-on: ubuntu-latest | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
RUSTFLAGS: "-D warnings" # fail on warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "25.x" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: setup deployment | |
env: | |
AURORA_CONNECTION_STRING: ${{ secrets.AURORA_CONNECTION_STRING }} | |
run: | | |
# take connection string from env, create deployment file with it | |
cat static/aurora/chinook-deployment-template.json \ | |
| jq '.connectionUri={"uri":{"value":(env | .AURORA_CONNECTION_STRING)}}' \ | |
> static/aurora/chinook-deployment.json | |
- name: install tools | |
run: | | |
rustup show | |
# install cargo-nextest | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "build" # share the cache across jobs | |
save-if: false | |
- name: run tests | |
run: | | |
cargo nextest run --no-fail-fast --release --features aurora --filter-expr='package(databases-tests)' | |
env: | |
RUST_LOG: INFO | |
AURORA_CONNECTION_STRING: ${{ secrets.AURORA_CONNECTION_STRING }} | |
# scream into Slack if something goes wrong | |
- name: report status | |
if: always() && github.ref == 'refs/heads/main' | |
uses: ravsamhq/notify-slack-action@v2 | |
with: | |
status: ${{ job.status }} | |
notify_when: failure | |
notification_title: "😧 Error on <{repo_url}|{repo}>" | |
message_format: "🐴 *{workflow}* {status_message} for <{repo_url}|{repo}>" | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.BROKEN_BUILD_SLACK_WEBHOOK_URL }} | |
test-ndc-postgres-with-database: | |
strategy: | |
matrix: | |
database: | |
- postgres | |
- citus | |
- cockroach | |
- yugabyte | |
name: "test connector (ndc-postgres on ${{ matrix.database }})" | |
runs-on: ubuntu-latest | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
RUSTFLAGS: "-D warnings" # fail on warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: "25.x" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: install tools | |
run: | | |
rustup show | |
# install cargo-nextest | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "build" # share the cache across jobs | |
save-if: false | |
- name: start dependencies | |
uses: isbang/[email protected] | |
with: | |
compose-file: "./docker-compose.yaml" | |
down-flags: "--volumes" | |
services: | | |
${{ matrix.database }} | |
- name: run tests | |
run: | | |
cargo nextest run --no-fail-fast --release --features '${{ matrix.database }}' --filter-expr='package(databases-tests)' | |
env: | |
RUST_LOG: INFO |