From 13ce85bce5640c97b693a788e9e553afe2af09f5 Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 04:37:26 -0800 Subject: [PATCH 1/6] ci artifact cache --- .github/workflows/ci.yml | 109 ++++++++++++++++++++++++++++++++------- 1 file changed, 90 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b41d46a2..3650b56a9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,11 @@ jobs: with: toolchain: stable override: true + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} - name: Install CMake 3.31 run: | sudo apt update && sudo apt install mold -y @@ -34,17 +39,37 @@ jobs: with: toolchain: stable override: true + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} - name: Install CMake 3.31 run: | sudo apt update && sudo apt install mold -y sudo apt remove cmake sudo pip3 install cmake==3.31.6 cmake --version + - name: Cargo fetch + run: cargo fetch - name: Build run: cargo build - - name: Check release - run: cargo check --release + - name: Build release + run: cargo build --release + - name: Package build outputs + run: | + mkdir -p artifacts/release + if [ -f target/release/pgdog ]; then + cp target/release/pgdog artifacts/release/ + fi + - name: Upload release artifacts + uses: actions/upload-artifact@v4 + with: + name: pgdog-release-${{ github.sha }} + path: artifacts/release + if-no-files-found: error tests: + needs: build runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 @@ -55,7 +80,12 @@ jobs: components: llvm-tools-preview - uses: useblacksmith/rust-cache@v3 with: - prefix-key: "v1" # Change this when updating tooling + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-nextest@0.9.78,cargo-llvm-cov@0.6.10 - name: Setup PostgreSQL run: | sudo service postgresql start @@ -69,20 +99,13 @@ jobs: sudo apt remove -y cmake sudo pip3 install cmake==3.31.6 cmake --version - cargo install cargo-nextest --version "0.9.78" --locked bash integration/toxi/setup.sh - - name: Install test dependencies - run: cargo install cargo-nextest --version "0.9.78" --locked - - name: Install coverage tooling - run: cargo install cargo-llvm-cov --locked --version "0.6.10" - name: Run tests with coverage env: RUSTFLAGS: "-C link-dead-code" run: | cargo llvm-cov clean --workspace cargo llvm-cov nextest --lcov --output-path lcov.info --no-fail-fast --test-threads=1 --filter-expr "package(pgdog) | package(pgdog-config) | package(pgdog-vector)" - - name: Run documentation tests - run: cargo test --doc # Requires CODECOV_TOKEN secret for upload - uses: codecov/codecov-action@v4 env: @@ -91,7 +114,24 @@ jobs: files: lcov.info flags: unit fail_ci_if_error: true + doc-tests: + needs: build + runs-on: blacksmith-4vcpu-ubuntu-2404 + steps: + - uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - name: Run documentation tests + run: cargo test --doc integration: + needs: build runs-on: blacksmith-4vcpu-ubuntu-2404 timeout-minutes: 30 env: @@ -105,7 +145,22 @@ jobs: components: llvm-tools-preview - uses: useblacksmith/rust-cache@v3 with: - prefix-key: release-1 + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-nextest@0.9.78,cargo-llvm-cov@0.6.10 + - uses: actions/download-artifact@v4 + with: + name: pgdog-release-${{ github.sha }} + path: artifacts/release + - name: Restore release binary + run: | + if [ -f artifacts/release/pgdog ]; then + mkdir -p target/release + cp artifacts/release/pgdog target/release/ + fi - name: Setup dependencies run: | sudo service postgresql start @@ -121,12 +176,9 @@ jobs: sudo apt remove -y cmake sudo pip3 install cmake==3.31.6 cmake --version - cargo install cargo-nextest --version "0.9.78" --locked bash integration/toxi/setup.sh sudo curl -SL https://github.com/docker/compose/releases/download/v2.36.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose - - name: Install coverage tooling - run: cargo install cargo-llvm-cov --locked --version "0.6.10" - name: Prepare instrumented PgDog build env: RUSTFLAGS: "-C link-dead-code" @@ -191,6 +243,7 @@ jobs: flags: integration fail_ci_if_error: true plugin-unit-tests: + needs: build runs-on: blacksmith-4vcpu-ubuntu-2404 continue-on-error: true timeout-minutes: 30 @@ -202,18 +255,22 @@ jobs: override: true - uses: useblacksmith/rust-cache@v3 with: - prefix-key: "plugin-unit-v1" + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-nextest@0.9.78 - name: Install CMake 3.31 run: | sudo apt-get install -y mold sudo apt remove cmake sudo pip3 install cmake==3.31.6 cmake --version - - name: Install test dependencies - run: cargo install cargo-nextest --version "0.9.78" --locked - name: Run plugin unit tests run: cargo nextest run -E 'package(pgdog-example-plugin)' --no-fail-fast plugin-integration-tests: + needs: build runs-on: blacksmith-4vcpu-ubuntu-2404 continue-on-error: true timeout-minutes: 30 @@ -225,7 +282,22 @@ jobs: override: true - uses: useblacksmith/rust-cache@v3 with: - prefix-key: "plugin-integration-v1" + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-nextest@0.9.78 + - uses: actions/download-artifact@v4 + with: + name: pgdog-release-${{ github.sha }} + path: artifacts/release + - name: Restore release binary + run: | + if [ -f artifacts/release/pgdog ]; then + mkdir -p target/release + cp artifacts/release/pgdog target/release/ + fi - name: Setup PostgreSQL run: | sudo service postgresql start @@ -239,7 +311,6 @@ jobs: sudo apt remove -y cmake sudo pip3 install cmake==3.31.6 cmake --version - cargo install cargo-nextest --version "0.9.78" --locked - name: Build plugin run: | cargo build --release From 34ab591deddd7bc22eed29a8a5e5eecc471e0f5f Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 04:37:47 -0800 Subject: [PATCH 2/6] matrix integration --- .github/workflows/ci.yml | 215 ++++++++++++++++++++++++++++----------- 1 file changed, 157 insertions(+), 58 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3650b56a9..6d0c9e60e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -130,12 +130,101 @@ jobs: key: ${{ github.sha }} - name: Run documentation tests run: cargo test --doc - integration: + integration-prepare: needs: build runs-on: blacksmith-4vcpu-ubuntu-2404 + steps: + - uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: llvm-tools-preview + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-llvm-cov@0.6.10 + - name: Prepare instrumented PgDog build + env: + RUSTFLAGS: "-C link-dead-code" + run: | + cargo llvm-cov clean --workspace + mkdir -p target/llvm-cov-target/profiles + cargo llvm-cov run --no-report --release --package pgdog --bin pgdog -- --help + rm -f target/llvm-cov-target/profiles/*.profraw + rm -f target/llvm-cov-target/profiles/.last_snapshot + rm -rf target/llvm-cov-target/reports + BIN_PATH=$(find target/llvm-cov-target -type f -path '*/release/pgdog' | head -n 1) + if [ -z "$BIN_PATH" ]; then + echo "Instrumented PgDog binary not found" >&2 + exit 1 + fi + mkdir -p integration-artifacts + cp "$BIN_PATH" integration-artifacts/pgdog + - name: Upload instrumented artifacts + uses: actions/upload-artifact@v4 + with: + name: integration-instrumented-${{ github.sha }} + path: | + integration-artifacts/pgdog + target/llvm-cov-target + + integration-suite: + needs: integration-prepare + runs-on: blacksmith-4vcpu-ubuntu-2404 timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + suite: + - name: pgbench + script: integration/pgbench/run.sh + id: pgbench + - name: schema-sync + script: integration/schema_sync/run.sh + id: schema_sync + - name: go + script: integration/go/run.sh + id: go + - name: js + script: integration/js/pg_tests/run.sh + id: js_pg_tests + - name: ruby + script: integration/ruby/run.sh + id: ruby + - name: java + script: integration/java/run.sh + id: java + - name: sql + script: integration/sql/run.sh + id: sql + - name: toxi + script: integration/toxi/run.sh + id: toxi + - name: rust + script: integration/rust/run.sh + id: rust + - name: copy-data + script: integration/copy_data/dev.sh + id: copy_data + - name: python + script: integration/python/run.sh + id: python + - name: load-balancer + script: integration/load_balancer/run.sh + id: load_balancer + - name: complex + script: integration/complex/run.sh + id: complex + - name: dry-run + script: integration/dry_run/run.sh + id: dry_run env: - LLVM_PROFILE_FILE: ${{ github.workspace }}/target/llvm-cov-target/profiles/pgdog-%p-%m.profraw + LLVM_PROFILE_FILE: ${{ format('{0}/profiles/{1}-%p-%m.profraw', github.workspace, matrix.suite.id) }} steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 @@ -150,17 +239,28 @@ jobs: key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: - tool: cargo-nextest@0.9.78,cargo-llvm-cov@0.6.10 + tool: cargo-nextest@0.9.78 + - uses: taiki-e/install-action@v2 + with: + tool: cargo-llvm-cov@0.6.10 - uses: actions/download-artifact@v4 with: - name: pgdog-release-${{ github.sha }} - path: artifacts/release - - name: Restore release binary + name: integration-instrumented-${{ github.sha }} + path: instrumentation + - name: Restore instrumented binary run: | - if [ -f artifacts/release/pgdog ]; then - mkdir -p target/release - cp artifacts/release/pgdog target/release/ + mkdir -p target/llvm-cov-target + if [ -d instrumentation/target/llvm-cov-target ]; then + cp -R instrumentation/target/llvm-cov-target/* target/llvm-cov-target/ fi + mkdir -p target/release + if [ -f instrumentation/integration-artifacts/pgdog ]; then + cp instrumentation/integration-artifacts/pgdog target/release/pgdog + chmod +x target/release/pgdog + echo "PGDOG_BIN=$(realpath target/release/pgdog)" >> "$GITHUB_ENV" + fi + mkdir -p profiles + touch profiles/.keep - name: Setup dependencies run: | sudo service postgresql start @@ -179,58 +279,57 @@ jobs: bash integration/toxi/setup.sh sudo curl -SL https://github.com/docker/compose/releases/download/v2.36.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose - - name: Prepare instrumented PgDog build - env: - RUSTFLAGS: "-C link-dead-code" + - name: Run ${{ matrix.suite.name }} suite + run: bash ${{ matrix.suite.script }} + - name: Upload coverage profiles + uses: actions/upload-artifact@v4 + with: + name: integration-profiles-${{ matrix.suite.id }}-${{ github.sha }} + path: profiles + if-no-files-found: ignore + + integration-coverage: + needs: + - integration-prepare + - integration-suite + runs-on: blacksmith-4vcpu-ubuntu-2404 + steps: + - uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: llvm-tools-preview + - uses: useblacksmith/rust-cache@v3 + with: + prefix-key: ci-v2 + shared-key: ${{ hashFiles('**/Cargo.lock') }} + key: ${{ github.sha }} + - uses: taiki-e/install-action@v2 + with: + tool: cargo-llvm-cov@0.6.10 + - uses: actions/download-artifact@v4 + with: + name: integration-instrumented-${{ github.sha }} + path: instrumentation + - name: Restore instrumentation target run: | - cargo llvm-cov clean --workspace - mkdir -p target/llvm-cov-target/profiles - cargo llvm-cov run --no-report --release --package pgdog --bin pgdog -- --help - rm -f target/llvm-cov-target/profiles/*.profraw - rm -f target/llvm-cov-target/profiles/.last_snapshot - rm -rf target/llvm-cov-target/reports - BIN_PATH=$(find target/llvm-cov-target -type f -path '*/release/pgdog' | head -n 1) - if [ -z "$BIN_PATH" ]; then - echo "Instrumented PgDog binary not found" >&2 - exit 1 + mkdir -p target/llvm-cov-target + if [ -d instrumentation/target/llvm-cov-target ]; then + cp -R instrumentation/target/llvm-cov-target/* target/llvm-cov-target/ fi - echo "Using instrumented binary at $BIN_PATH" - echo "PGDOG_BIN=$(realpath "$BIN_PATH")" >> "$GITHUB_ENV" - - name: pgbench - run: bash integration/pgbench/run.sh - - name: schema-sync - run: bash integration/schema_sync/run.sh - - name: Go - run: bash integration/go/run.sh - - name: JavaScript - run: bash integration/js/pg_tests/run.sh - - name: Ruby - run: bash integration/ruby/run.sh - - name: Java - run: bash integration/java/run.sh - - name: SQL - run: bash integration/sql/run.sh - - name: Toxi - run: bash integration/toxi/run.sh - - name: Rust - run: bash integration/rust/run.sh - - name: Stop shared PgDog - run: bash -lc 'source integration/common.sh; stop_pgdog' - - name: Data sync - run: bash integration/copy_data/dev.sh - - name: Python - run: bash integration/python/run.sh - - name: Load balancer - run: bash integration/load_balancer/run.sh - - name: More complex stuff - run: bash integration/complex/run.sh - - name: Dry run - run: bash integration/dry_run/run.sh - - name: Ensure PgDog stopped + - uses: actions/download-artifact@v4 + with: + pattern: ${{ format('integration-profiles-*-{0}', github.sha) }} + path: profiles + merge-multiple: true + - name: Prepare coverage profiles run: | - if pgrep -x pgdog > /dev/null; then - killall -TERM pgdog - sleep 5 + mkdir -p target/llvm-cov-target/profiles + if find profiles -name '*.profraw' -print -quit | grep -q .; then + find profiles -name '*.profraw' -print0 | while IFS= read -r -d '' file; do + cp "$file" target/llvm-cov-target/profiles/ + done fi - name: Generate integration coverage report run: cargo llvm-cov report --release --package pgdog --lcov --output-path integration.lcov From 56de40047ecb0e4a8e7b99286391afcf2f40db0a Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 10:39:08 -0800 Subject: [PATCH 3/6] ensure mold on doc-tests --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d0c9e60e..1fc425cbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -128,6 +128,10 @@ jobs: prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} key: ${{ github.sha }} + - name: Install mold linker + run: | + sudo apt update + sudo apt install -y mold - name: Run documentation tests run: cargo test --doc integration-prepare: From 5fbfe95cad030d482994d7eaf1f101f88a7d7ed0 Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 10:40:51 -0800 Subject: [PATCH 4/6] ensure venv set up for complex job --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fc425cbf..ec97e8d9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -283,6 +283,11 @@ jobs: bash integration/toxi/setup.sh sudo curl -SL https://github.com/docker/compose/releases/download/v2.36.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose + python3 -m venv integration/python/venv + source integration/python/venv/bin/activate + pip install --upgrade pip + pip install -r integration/python/requirements.txt + deactivate - name: Run ${{ matrix.suite.name }} suite run: bash ${{ matrix.suite.script }} - name: Upload coverage profiles From 4d8b944bb8156c2a28208c422df89aa6ca76434f Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 15:05:06 -0800 Subject: [PATCH 5/6] bring binaries into coverage --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec97e8d9e..122eb0bf9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -327,6 +327,18 @@ jobs: if [ -d instrumentation/target/llvm-cov-target ]; then cp -R instrumentation/target/llvm-cov-target/* target/llvm-cov-target/ fi + mkdir -p target/release + - uses: actions/download-artifact@v4 + with: + name: pgdog-release-${{ github.sha }} + path: artifacts/release + - name: Restore release binaries + run: | + mkdir -p target/release + if [ -d artifacts/release ]; then + cp -R artifacts/release/* target/release/ + chmod +x target/release/pgdog || true + fi - uses: actions/download-artifact@v4 with: pattern: ${{ format('integration-profiles-*-{0}', github.sha) }} From a7f08f415bdad73b3cfee362bbba2422067369bf Mon Sep 17 00:00:00 2001 From: Justin George Date: Fri, 21 Nov 2025 15:55:26 -0800 Subject: [PATCH 6/6] try using github runners --- .github/workflows/ci.yml | 54 ++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 122eb0bf9..a77ad2930 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,18 +8,16 @@ on: jobs: fmt: - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - name: Install CMake 3.31 run: | sudo apt update && sudo apt install mold -y @@ -32,18 +30,16 @@ jobs: working-directory: pgdog run: cargo clippy build: - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - name: Install CMake 3.31 run: | sudo apt update && sudo apt install mold -y @@ -70,7 +66,7 @@ jobs: if-no-files-found: error tests: needs: build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 @@ -78,11 +74,9 @@ jobs: toolchain: stable override: true components: llvm-tools-preview - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-nextest@0.9.78,cargo-llvm-cov@0.6.10 @@ -116,18 +110,16 @@ jobs: fail_ci_if_error: true doc-tests: needs: build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - name: Install mold linker run: | sudo apt update @@ -136,7 +128,7 @@ jobs: run: cargo test --doc integration-prepare: needs: build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 @@ -144,11 +136,9 @@ jobs: toolchain: stable override: true components: llvm-tools-preview - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-llvm-cov@0.6.10 @@ -179,7 +169,7 @@ jobs: integration-suite: needs: integration-prepare - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest timeout-minutes: 30 strategy: fail-fast: false @@ -236,11 +226,9 @@ jobs: toolchain: stable override: true components: llvm-tools-preview - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-nextest@0.9.78 @@ -301,7 +289,7 @@ jobs: needs: - integration-prepare - integration-suite - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 @@ -309,11 +297,9 @@ jobs: toolchain: stable override: true components: llvm-tools-preview - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-llvm-cov@0.6.10 @@ -364,7 +350,7 @@ jobs: fail_ci_if_error: true plugin-unit-tests: needs: build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest continue-on-error: true timeout-minutes: 30 steps: @@ -373,11 +359,9 @@ jobs: with: toolchain: stable override: true - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-nextest@0.9.78 @@ -391,7 +375,7 @@ jobs: run: cargo nextest run -E 'package(pgdog-example-plugin)' --no-fail-fast plugin-integration-tests: needs: build - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest continue-on-error: true timeout-minutes: 30 steps: @@ -400,11 +384,9 @@ jobs: with: toolchain: stable override: true - - uses: useblacksmith/rust-cache@v3 + - uses: Swatinem/rust-cache@v2 with: - prefix-key: ci-v2 shared-key: ${{ hashFiles('**/Cargo.lock') }} - key: ${{ github.sha }} - uses: taiki-e/install-action@v2 with: tool: cargo-nextest@0.9.78