xserver/.github
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Enrico Weigelt, metux IT consult b89b84b99e ci: make the DragonFlyBSD lane prove it built
Retries in this lane are decided by the step outcome, but
vmactions/dragonflybsd-vm does not report the exit code of the command it runs
over SSH. A lane that never finished therefore reports success, and the retry
chain stops on that success instead of recovering.

The build itself is fine. A run that reported success, in full:

    meson install   -> intro-install_plan.json, install.dat written
    compile         -> ccache "total size is 237,948,165  speedup is 1.14"
    objects         -> _build/test/tests.p/*.c.o

Note that a successful lane prints no "Compiling C" lines at all: ccache
satisfies every translation from cache and ninja stays silent. Counting those
lines is therefore useless as a build signal - it reads zero on a lane that
built successfully, and that is what made the problem look like a build that
never started.

run-xserver-build.sh now writes /tmp/xsbuild-started once the guest is alive
and /tmp/xsbuild-complete after 'meson install', both carrying $GITHUB_SHA,
and removes them on entry. The retry conditions key off those files:

    started missing            -> guest never ran the build, retry
    started, complete missing  -> build ran and broke, stop retrying
    complete present           -> done

GITHUB_SHA is added to the envs of the three VM steps for exactly this: the
action forwards only what envs lists, so without it the marker is written
empty and the comparison below has nothing to compare against. The final
"verify the build actually ran" step is a plain run step and stays the single
decisive one; the two intermediate checks carry continue-on-error because an
if: without a status check function is evaluated under an implicit success(),
and a failing check would otherwise skip every retry.

Scope: DragonFlyBSD only. freebsd shows the same signature and is still
unverified; openbsd, netbsd and solaris have not been examined at all.
alpine, gentoo and rhel run natively and need none of this.

Verified locally before pushing: workflow parses, script passes sh -n, and the
netbsd/openbsd/solaris/freebsd jobs are byte-identical to master.

Signed-off-by: Enterprise <info@metux.net>
2026-10-19 13:07:29 +02:00
..
actions ci: decouple apt cache — build jobs only pull, separate job pushes 2026-10-14 15:24:09 +02:00
arch licensing: add SPDX AGPL-3.0-or-later headers to .github/ files authored by Enrico Weigelt 2026-07-28 17:53:55 +02:00
docker licensing: add SPDX AGPL-3.0-or-later headers to .github/ files authored by Enrico Weigelt 2026-07-28 17:53:55 +02:00
ISSUE_TEMPLATE 01-bug-report.yml: Add 25.2.x to version selector 2026-07-31 16:18:49 -04:00
scripts ci: make the DragonFlyBSD lane prove it built 2026-10-19 13:07:29 +02:00
workflows ci: make the DragonFlyBSD lane prove it built 2026-10-19 13:07:29 +02:00