Cockatrice/.github/workflows
BruebachL 140fbb4484
[CI] Cover the legacy distros and the slow macOS runner in a nightly (#7668)
* [CI] Cover the legacy distros and the slow macOS runner in a nightly

Every pull request built ten Linux legs and five macOS/Windows legs, including
the previous release of each distro and macOS 13 on the Intel runner. Those
legs exist to catch a regression for users on an older distribution, which a
change being reviewed almost never does, and macOS 13 Intel is the slowest leg
of the matrix - 28 minutes against 19 for the rest.

They now run in a nightly build of the default branch and on tag builds, which
is when a change actually ships. Pull requests keep the current release of each
distro, the sanitizer leg and the coverage leg.

* [CI] Run the nightly legs from their own jobs

jobs.<id>.if cannot read matrix, so the previous filter never validated and
no leg of this workflow ran. matrix.exclude cannot express it either: GitHub
processes exclude before include, and these matrices are include-only.

Split the regular and nightly legs into two jobs per platform, sharing the
step list through a YAML anchor and gating the jobs on the event instead of
on matrix. The nightly run now covers only the legs a push leaves out, and
the event name is part of the concurrency group so a nightly and a master
push do not cancel each other.

* [CI] Run the coverage leg in the nightly

gcovr.cfg sets no fail_under, so the leg cannot fail a build, and nothing
consumes coverage-report: it was an artifact produced on every pull request and
read by no one. In the nightly it becomes a trend over the default branch
instead, next to the legs a change being reviewed does not wait for.

The leg itself is unchanged - same distro, version and variant, so the image
name and ccache key still match the warm cache it built. It is marked
allow-failure so a reporting leg cannot redden the nightly run that
vcpkg-cache-import requires to conclude in success.

The release-test comment loses its per-leg parenthetical: it claimed the
sanitizer leg packages, which #7666 stopped being true, and the coverage leg is
no longer in this job.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-11-04 07:42:35 +01:00
..
codeql.yml [CrashReporting] Mock crash-report dialog and reporting preference (#7521) 2026-10-19 14:57:03 +02:00
desktop-build.yml [CI] Cover the legacy distros and the slow macOS runner in a nightly (#7668) 2026-11-04 07:42:35 +01:00
desktop-lint.yml [CI] Minimal GitHub Actions permissions (#7165) 2026-08-23 11:42:47 +02:00
docker-release.yml Allow manually publishing a release image in docker workflow (#7392) 2026-10-04 02:44:54 +02:00
documentation-build.yml [Docs] Add app logo to main page + cleanup (#7471) 2026-10-10 23:48:37 +02:00
translations-pull.yml [CI] Fix permissions for automations around translations (#7394) 2026-10-04 20:20:28 +02:00
translations-push.yml [CI] Fix permissions for automations around translations (#7394) 2026-10-04 20:20:28 +02:00
vcpkg-cache-import.yml [CI] Cover the legacy distros and the slow macOS runner in a nightly (#7668) 2026-11-04 07:42:35 +01:00