Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 15 additions & 1 deletion .github/workflows/clippy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,27 @@
push:
branches: [main]

# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so repeated pushes do not stack up on a capped pool. Non-PR runs get a group
# unique to the run (run_id): merge-group runs reuse a ref across re-queues,
# and GitHub concurrency replaces a PENDING run in a group even with
# cancel-in-progress false, so keying them by ref would let one merge-group
# run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
clippy:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (Ubuntu 24.04, 4 vCPU / 16 GB, capped at
# 20 concurrent). ubuntu-latest is an Amazon-wide shared pool where our jobs
# waited 10-90 minutes to start (2026-09-29/30); see integration.yml.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.97.0
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --all-targets -- -D warnings

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
16 changes: 15 additions & 1 deletion .github/workflows/fmt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,26 @@
push:
branches: [main]

# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so repeated pushes do not stack up on a capped pool. Non-PR runs get a group
# unique to the run (run_id): merge-group runs reuse a ref across re-queues,
# and GitHub concurrency replaces a PENDING run in a group even with
# cancel-in-progress false, so keying them by ref would let one merge-group
# run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
fmt:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (Ubuntu 24.04, 4 vCPU / 16 GB, capped at
# 20 concurrent). ubuntu-latest is an Amazon-wide shared pool where our jobs
# waited 10-90 minutes to start (2026-09-29/30); see integration.yml.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.97.0
with:
components: rustfmt
- run: cargo fmt --all -- --check

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
25 changes: 21 additions & 4 deletions .github/workflows/integration-mongodb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,23 @@ permissions:
# `run-tests --backend mongodb`, tearing everything down on exit. Both jobs
# reuse it so CI runs the exact path developers run locally (no drift), while
# splitting pytest and rust into parallel jobs the way integration.yml does.
# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so repeated pushes do not stack up on a capped pool. Non-PR runs get a group
# unique to the run (run_id): merge-group runs reuse a ref across re-queues,
# and GitHub concurrency replaces a PENDING run in a group even with
# cancel-in-progress false, so keying them by ref would let one merge-group
# run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
mongodb-pytest:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (Ubuntu 24.04, 4 vCPU / 16 GB, capped at
# 20 concurrent). ubuntu-latest is an Amazon-wide shared pool where our jobs
# waited 10-90 minutes to start (2026-09-29/30); see integration.yml.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -38,7 +52,8 @@ jobs:
run: devtools/run-mongodb-tests -- --pytest --comprehensive --parallel

mongodb-rust:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -56,7 +71,8 @@ jobs:
run: devtools/run-mongodb-tests -- --rust --rust-integration

mongodb-production-build:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -67,7 +83,8 @@ jobs:
run: cargo check --release --no-default-features --features mongodb

mongodb-integration:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
needs: [mongodb-pytest, mongodb-rust, mongodb-production-build]
if: always()
steps:
Expand Down
38 changes: 31 additions & 7 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,27 @@ on:
permissions:
contents: read

# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so two pushes do not each hold six slots on a capped pool. Everything that is
# not a pull request gets a group unique to the run (run_id): merge-group runs
# can share a ref (gh-readonly-queue/main/pr-N-<sha> is reused across
# re-queues of the same PR), and GitHub concurrency replaces a PENDING run in
# a group even with cancel-in-progress false — so keying non-PR runs by ref
# would let one merge-group run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
run-integration:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (4 vCPU / 16 GB, capped at 20 concurrent),
# pinned to Ubuntu 24.04. ubuntu-latest is an Amazon-wide pool of 1,000
# concurrent jobs shared first-come first-served across every org; our jobs
# sat queued 10–90 minutes behind other teams' load (2026-09-29/30). Pinned
# rather than "latest" because ubuntu-latest migrates to 26.04 in Oct–Nov
# 2026 and this compiles Rust; move to 26 deliberately.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
services:
postgres:
# pgvector's own image, which is postgres:16 plus the extension. The
Expand Down Expand Up @@ -88,7 +106,8 @@ jobs:
run: sudo journalctl -t extenddb --no-pager -n 500 || true

run-integration-sqlite:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
steps:
- uses: actions/checkout@v6

Expand Down Expand Up @@ -149,7 +168,8 @@ jobs:
# transaction authorization regression reached main: the build compiled, so
# a feature-matrix check passed, while nothing ever issued a request against
# a dev-mode server. This job starts one and exercises the data plane.
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
steps:
- uses: actions/checkout@v6

Expand Down Expand Up @@ -197,7 +217,8 @@ jobs:
run: python3 -m pytest tests/test_dev_mode_authorization.py -v

run-rust-integration:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
services:
postgres:
image: pgvector/pgvector:pg16
Expand Down Expand Up @@ -296,7 +317,8 @@ jobs:
# EXTENDDB_EXPECT_VECTORS flips to "1". Without this job the refusal surface
# would stop being tested at exactly that point.
run-rust-integration-postgres-novector:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
services:
postgres:
image: postgres:16
Expand Down Expand Up @@ -368,7 +390,8 @@ jobs:
# image and the job above already runs them; repeating them here would buy
# a second release build and no coverage.
run-rust-integration-sqlite:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -434,7 +457,8 @@ jobs:
run: sudo journalctl -t extenddb --no-pager -n 500 || true

integration:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 40
needs:
[
run-integration,
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/licenses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,22 @@ on:
permissions:
contents: read

# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so repeated pushes do not stack up on a capped pool. Non-PR runs get a group
# unique to the run (run_id): merge-group runs reuse a ref across re-queues,
# and GitHub concurrency replaces a PENDING run in a group even with
# cancel-in-progress false, so keying them by ref would let one merge-group
# run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
notices-current:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (Ubuntu 24.04, 4 vCPU / 16 GB, capped at
# 20 concurrent). ubuntu-latest is an Amazon-wide shared pool where our jobs
# waited 10-90 minutes to start (2026-09-29/30); see integration.yml.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,23 @@ on:
permissions:
contents: read

# Supersede an in-flight run of the SAME pull request when a new push arrives,
# so repeated pushes do not stack up on a capped pool. Non-PR runs get a group
# unique to the run (run_id): merge-group runs reuse a ref across re-queues,
# and GitHub concurrency replaces a PENDING run in a group even with
# cancel-in-progress false, so keying them by ref would let one merge-group
# run cancel another and evict its queue entry.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
run-tests:
runs-on: ubuntu-latest
# Dedicated ExtendDB runner group (Ubuntu 24.04, 4 vCPU / 16 GB, capped at
# 20 concurrent). ubuntu-latest is an Amazon-wide shared pool where our jobs
# waited 10-90 minutes to start (2026-09-29/30); see integration.yml.
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 15
strategy:
matrix:
toolchain: [stable, "1.88.0"]
Expand All @@ -23,7 +37,8 @@ jobs:
- run: cargo test --workspace

test:
runs-on: ubuntu-latest
runs-on: extenddb_ubuntu-2404_4-core
timeout-minutes: 15
needs: run-tests
if: always()
steps:
Expand Down
Loading