Skip to content
Closed
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: 30
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: 30
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: 30
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: 30
needs: [mongodb-pytest, mongodb-rust, mongodb-production-build]
if: always()
steps:
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