Skip to content

Commit 8910a86

Browse files
authored
chore: pilot parallel install steps in postgres CI job (#2413)
chore: pilot parallel install steps in postgres CI job
1 parent cb0e649 commit 8910a86

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

.github/workflows/main-workflow.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,13 +323,15 @@ jobs:
323323
- name: Create test results directory
324324
run: mkdir -p workflow/test-results
325325

326+
# PILOT (parallel steps, github.blog 2026-06-25): run the apt-get client
327+
# install in the background so it overlaps the cargo-nextest /
328+
# cargo-llvm-cov installs below. dpkg, cargo, and curl use independent
329+
# locks, so there is no contention. A `wait-all` barrier (added before the
330+
# DB is created) guarantees the client is present before it is used.
326331
- name: Install PostgreSQL client
332+
background: true
327333
run: sudo apt-get update && sudo apt-get install -y postgresql-client
328334

329-
- name: Create Tokenserver database
330-
run: |
331-
PGPASSWORD=test psql -U test -h 127.0.0.1 -d syncstorage -c 'CREATE DATABASE tokenserver;'
332-
333335
- name: Create version.json
334336
run: |
335337
printf '{"commit":"%s","version":"%s","source":"https://github.com/%s/%s","build":"%s"}\n' \
@@ -364,6 +366,15 @@ jobs:
364366
if: steps.cache-cargo-llvm-cov-postgres.outputs.cache-hit != 'true'
365367
run: cargo install --locked cargo-llvm-cov
366368

369+
# PILOT (parallel steps): barrier — block until the backgrounded apt-get
370+
# client install above has finished before the client is used.
371+
- name: Wait for background installs
372+
wait-all: true
373+
374+
- name: Create Tokenserver database
375+
run: |
376+
PGPASSWORD=test psql -U test -h 127.0.0.1 -d syncstorage -c 'CREATE DATABASE tokenserver;'
377+
367378
- name: Run unit tests with coverage
368379
run: make postgres_test_with_coverage
369380

0 commit comments

Comments
 (0)