Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
15f32fe
Do not unlock live tasks on worker startup
imbolc May 9, 2026
603cd5c
Add task lease ownership checks
imbolc May 9, 2026
bf68a6d
Renew task leases from worker heartbeat
imbolc May 9, 2026
7532104
Stop workers when task lease heartbeats expire
imbolc May 9, 2026
3182726
Stop workers when task lease heartbeats expire
imbolc May 9, 2026
9b5a5ac
Cover heartbeat recovery and reject zero lease timeouts
imbolc May 9, 2026
58585d4
Cover aborting steps after lease renewal expiry
imbolc May 9, 2026
3e2d50f
Cover heartbeat lifetime during graceful shutdown
imbolc May 9, 2026
1afe7d3
Add worker heartbeat and task availability tests
imbolc May 9, 2026
f1abc79
Expand lease and worker wakeup test coverage
imbolc May 9, 2026
9424b08
Add coverage-guided worker and task tests
imbolc May 9, 2026
f1f263b
Fix lease expiry and worker drain edge cases
imbolc May 10, 2026
0368312
Add lease notification and renewal indexes
imbolc May 10, 2026
d4632bf
Add lease notification and index migrations
imbolc May 10, 2026
af1a6c2
Fix worker lease renewal lifecycle
imbolc May 10, 2026
954d891
Fix lease timing and drain step errors
imbolc May 10, 2026
cff2db2
Make task claiming non-cancellable
imbolc May 10, 2026
4f4e005
Detect partial lease renewal failures
imbolc May 10, 2026
1c29201
Exclude .sqlx from PR review
imbolc May 11, 2026
f3b5171
Combine branch lease migrations
imbolc May 11, 2026
13f77bc
Cache SQLx test harness queries
imbolc May 11, 2026
afd74c6
Provide Postgres for CI tests
imbolc May 11, 2026
1b43b90
Preserve CI database URL in tests
imbolc May 11, 2026
a3b9cab
Use live database for CI tests
imbolc May 11, 2026
a261c25
Run migrations before CI tests
imbolc May 11, 2026
3c8993e
Relax pool timeout tests for CI
imbolc May 11, 2026
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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@

# Exclude from `git grep`
/.sqlx/*.* binary

# Mark it as generated so GitHub collapses it in PR diffs/reviews
.sqlx/** linguist-generated=true
29 changes: 26 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ on:
- ci
pull_request:

env:
SQLX_OFFLINE: true

jobs:
rustfmt:
runs-on: ubuntu-latest
Expand All @@ -27,6 +24,8 @@ jobs:

clippy:
runs-on: ubuntu-latest
env:
SQLX_OFFLINE: true
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -42,6 +41,8 @@ jobs:

rustdoc:
runs-on: ubuntu-latest
env:
SQLX_OFFLINE: true
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -56,6 +57,22 @@ jobs:

test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_DB: pg_task
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/pg_task
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -65,6 +82,12 @@ jobs:
with:
toolchain: stable

- name: Install sqlx-cli
run: cargo install --locked sqlx-cli --version 0.8.6 --no-default-features --features postgres,rustls

- name: Run migrations
run: cargo sqlx migrate run

- name: Test all targets
run: cargo test --all-targets

Expand Down
12 changes: 8 additions & 4 deletions .pre-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@ typos .
cargo shear
cargo +nightly fmt -- --check
cargo sort -c
cargo test --all-targets
cargo test --doc
cargo sqlx prepare && git add .sqlx
cargo clippy --all-targets -- -D warnings

cargo sqlx prepare -- --all-targets --all-features
# `cargo sqlx prepare` uses `cargo check`, which misses query macros compiled only by test harnesses.
SQLX_OFFLINE=false SQLX_OFFLINE_DIR=.sqlx cargo test --all-targets --all-features --no-run
git add .sqlx
SQLX_OFFLINE=true cargo test --all-targets
SQLX_OFFLINE=true cargo test --doc
SQLX_OFFLINE=true cargo clippy --all-targets --all-features -- -D warnings

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

This file was deleted.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading