Commit graph xserver/.github/docker
Author SHA1 Message Date
Enrico Weigelt, metux IT consult
06d4b6d0cc licensing: add SPDX AGPL-3.0-or-later headers to .github/ files authored by Enrico Weigelt
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
All 47 files in .github/ (actions, arch, docker, scripts, workflows)
that were originally authored by Enrico Weigelt and don't end up in
the final X server binary now carry SPDX-License-Identifier headers.

File .github/scripts/ubuntu/run-pyxtest-valgrind.sh already had the
AGPL-3.0-or-later header — left as-is.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-28 17:53:55 +02:00
Enrico Weigelt, metux IT consult
627b6da5a2 .github: content-address all deps images, drop standalone image builders
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Make every CI base image content-addressed and built-if-missing, and
fold the three standalone image-builder workflows into the main "Build
X servers" pipeline.

Previously the gentoo / ubuntu base images and the SDK image were built
by their own workflows (gentoo-image.yml, ubuntu-deps-image.yml,
sdk-image.yml). Those rebuilt the full image on every branch that
touched the relevant paths (and a brand-new branch matched the push
path filter spuriously), wasting ~15-22 min per run; and a WIP branch
that changed the deps still consumed master's :latest base, so its build
could be stale.

Now each deps image gets a tag derived from a hash of its build inputs
and is built only when that exact tag is missing in GHCR:

  - gentoo-deps-image  : tag = hash(gentoo Dockerfile)
  - ubuntu-deps-image  : tag = hash(ubuntu Dockerfile + install-pkg.sh +
                                    install-prereq.sh + conf.sh + util.sh)

An unchanged image is reused on ANY branch via a few-second
`docker manifest inspect` existence check (no rebuild); a branch that
edits the deps automatically gets its own image — no waste and no
staleness. :latest is moved only by master.

The per-commit SDK (build-sdk-image) now builds FROM the content-hashed
ubuntu base: the SDK Dockerfile takes `ARG BASE` and the job passes
`--build-arg BASE=…/xserver-ubuntu-build:<hash>`, so a WIP branch's SDK
is built on exactly the deps that branch defines. This also makes the
standalone sdk-image.yml redundant (build-sdk-image already produces the
per-commit xserver-sdk:<sha> that the driver jobs consume), so it is
removed too.

ubuntu-deps-image is gated like build-sdk-image (its only consumer),
i.e. it runs when the ABI changed or on a tag. prune-sdk-images.yml is
kept (it still prunes accumulated xserver-sdk:<sha> tags).

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-30 17:47:36 +02:00
Enrico Weigelt, metux IT consult
2d43435b40 .github: add xserver SDK image (step 2 of driver-pipeline rework)
Some checks failed
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Build xserver SDK image / build-sdk-image (push) Has been cancelled
Builds the X-server + SDK (-Dxorg-sdk=true) from the current commit on
top of the xserver-ubuntu-build base image and pushes it to GHCR as
xserver-sdk:<sha> (+ :latest). Multi-stage so the final image carries
only the installed SDK in /opt/x11, not the source.

This is the per-commit artifact the driver builds will consume in the
next step (container: xserver-sdk:<sha>) instead of restoring the
xserver+SDK from the actions/cache that can be evicted under load. No
existing job consumes it yet.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-29 16:45:45 +02:00
Enrico Weigelt, metux IT consult
a3e366a787 .github: add ubuntu deps base image (step 1 of driver-pipeline rework)
Adds a prebuilt base image with the apt build dependencies and the
from-source prereqs (rendercheck, libdrm, libxcvt, xorgproto, xts,
piglit, goxproto) baked in, plus a builder workflow that pushes it to
GHCR (on demand / weekly / on input change).

This is step 1 of reworking the driver pipeline: later steps build the
xserver+SDK on top of this image and hand it to the driver builds via a
per-commit image instead of the eviction-prone actions/cache (under high
load the SDK cache can be evicted before the queued driver jobs restore
it, forcing a full manual rerun).

No existing job is changed yet — this only adds the image + builder.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-29 15:41:49 +02:00
Enrico Weigelt, metux IT consult
d7d81b8bce .github: add gentoo job
Some checks failed
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Build Gentoo deps image / build-gentoo-image (push) Has been cancelled
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-26 18:48:28 +02:00