Faster CI: prebuilt images, build jobs in parallel, cancel superseded runs #41
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci-speedup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Speeds up CI, as discussed:
ci.ymlby tag and digest:ogc-ci-arch,ogc-ci-alma8,ogc-ci-debian13andogc-ci-windows. Runs on pull requests, onmainand on tags use them and skip the package installs. The recipes are inscripts/ci/; the Windows image is built fromscripts/windows/Containerfile, so its package list stays intoolchain.sh.scripts/ci/build-images.shis run locally, never by a workflow, so no job uses the runner's Docker socket. It builds--pull --no-cache, pushes, and printsname:tag@digest;--writeputs the new references intoci.yml.vm.ymlstays on upstream Arch.check:package,bundle-cli,bundle-guiand the Windows jobs start at once.bundlewaits for its two program jobs. The release (tags only) still waits for all 13 jobs.Local check: each job ran in its image on a fresh clone with
docker run:check(with the GUI tests on Broadway),package,bundle-cli,bundle-gui,bundle,windows-check,windows-sysrootandwindows-gui-check. All passed.Measurement: before, run 145 took 10:41. Its critical path was
check(5:47), thenbundle-gui(3:11), thenbundle. The run of this PR gives the "after" figure. The first run on a runner host also pulls about 3.4 GB of images once.Not verified yet on the runner: the expression in
container.imagethat picks the nightly upstream image, andconcurrency. Both match the Forgejo docs; this PR's run and the next nightly run will show them.