ci: Split Docker builds into sequential release and max-perf stages #1017

Merged
tcpipuk merged 1 commit from tom/release-max-perf into main 2025-09-12 13:08:48 +00:00
Owner

Separate fast release builds from slow max-perf builds to optimise runner utilisation and provide quicker feedback.

Release builds complete first with standard optimisations, followed by Haswell-optimised dragrace builds once the safe builds pass successfully.

Extract build logic into focused composite actions for better log visibility in Forgejo UI.

Split monolithic build action into prepare-docker-build, inline docker build step, and upload-docker-artifacts to ensure each phase completes independently and shows logs immediately.

Creates separate manifests at each stage to avoid waiting for all builds before publishing.

Separate fast release builds from slow max-perf builds to optimise runner utilisation and provide quicker feedback. Release builds complete first with standard optimisations, followed by Haswell-optimised dragrace builds once the safe builds pass successfully. Extract build logic into focused composite actions for better log visibility in Forgejo UI. Split monolithic build action into prepare-docker-build, inline docker build step, and upload-docker-artifacts to ensure each phase completes independently and shows logs immediately. Creates separate manifests at each stage to avoid waiting for all builds before publishing.
tcpipuk self-assigned this 2025-09-12 09:29:42 +00:00
tcpipuk force-pushed tom/release-max-perf from eeaf22c1ff
Some checks failed
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Release Docker Image / define-variables (pull_request) Successful in 2s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 1s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 1s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Failing after 1s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Failing after 1s
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
to 3f5d48aa0b
Some checks failed
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Release Docker Image / define-variables (pull_request) Successful in 5s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 5s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 4s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Documentation / Build and Deploy Documentation (pull_request) Successful in 32s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Failing after 3s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Failing after 3s
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
2025-09-12 09:38:19 +00:00
Compare
tcpipuk force-pushed tom/release-max-perf from 3f5d48aa0b
Some checks failed
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Release Docker Image / define-variables (pull_request) Successful in 5s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 5s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 4s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Documentation / Build and Deploy Documentation (pull_request) Successful in 32s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Failing after 3s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Failing after 3s
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
to 8444c3749c
Some checks failed
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Release Docker Image / define-variables (pull_request) Successful in 2s
Documentation / Build and Deploy Documentation (pull_request) Successful in 37s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 6m31s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 7m9s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 13s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 16m25s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 17m39s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 12s
2025-09-12 09:45:43 +00:00
Compare
tcpipuk force-pushed tom/release-max-perf from 8444c3749c
Some checks failed
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Release Docker Image / define-variables (pull_request) Successful in 2s
Documentation / Build and Deploy Documentation (pull_request) Successful in 37s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 6m31s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 7m9s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 13s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 16m25s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 17m39s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 12s
to bb3dedbf29
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 9s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Successful in 40s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 51s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 48s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
2025-09-12 10:59:49 +00:00
Compare
tcpipuk force-pushed tom/release-max-perf from bb3dedbf29
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 9s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Successful in 40s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 51s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 48s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
to 75495aa198
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 10s
Documentation / Build and Deploy Documentation (pull_request) Successful in 27s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 55s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 1m58s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 2m0s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 3m56s
2025-09-12 11:15:18 +00:00
Compare
tcpipuk force-pushed tom/release-max-perf from 75495aa198
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 10s
Documentation / Build and Deploy Documentation (pull_request) Successful in 27s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 55s
Release Docker Image / Build linux-amd64 (release) (pull_request) Failing after 1m58s
Release Docker Image / Build linux-arm64 (release) (pull_request) Failing after 2m0s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been skipped
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been skipped
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been skipped
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 3m56s
to b606d1d85c
All checks were successful
Release Docker Image / define-variables (pull_request) Successful in 11s
Documentation / Build and Deploy Documentation (pull_request) Successful in 28s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 59s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m19s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 5m50s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 5m49s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 11s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 12m24s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 12m31s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 10s
2025-09-12 11:19:34 +00:00
Compare
tcpipuk force-pushed tom/release-max-perf from b606d1d85c
All checks were successful
Release Docker Image / define-variables (pull_request) Successful in 11s
Documentation / Build and Deploy Documentation (pull_request) Successful in 28s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 59s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m19s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 5m50s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 5m49s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 11s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 12m24s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 12m31s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 10s
to 542dff50bd
Some checks failed
Release Docker Image / Setup Variables (pull_request) Successful in 10s
Documentation / Build and Deploy Documentation (pull_request) Successful in 25s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 56s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 5m30s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 5m45s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 6m2s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 10s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 12m43s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 12m39s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 9s
Documentation / Build and Deploy Documentation (push) Successful in 27s
Release Docker Image / Setup Variables (push) Successful in 13s
Checks / Prek / Pre-commit & Formatting (push) Successful in 1m12s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 5m21s
Release Docker Image / Build linux-amd64 (release) (push) Successful in 5m58s
Release Docker Image / Build linux-arm64 (release) (push) Successful in 5m53s
Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 10s
Release Docker Image / Build linux-arm64 (max-perf) (push) Has been cancelled
Release Docker Image / Build linux-amd64 (max-perf) (push) Has been cancelled
Release Docker Image / Create Max-Perf Manifest (push) Has been cancelled
2025-09-12 11:43:27 +00:00
Compare
tcpipuk requested review from Jade 2025-09-12 11:44:27 +00:00
Jade approved these changes 2025-09-12 11:48:39 +00:00
tcpipuk deleted branch tom/release-max-perf 2025-09-12 13:08:48 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!1017
No description provided.