Make v2_
mutation prefix configurable (#636)
#3008
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: Postgres NDC tests | |
on: | |
push: | |
jobs: | |
test-unit: | |
strategy: | |
fail-fast: false | |
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='not package(databases-tests)' | |
env: | |
RUST_LOG: INFO | |
test-connector: | |
strategy: | |
fail-fast: false | |
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@v3 | |
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: hoverkraft-tech/[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-database: | |
strategy: | |
fail-fast: false | |
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@v3 | |
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: hoverkraft-tech/[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 |