Skip to content

ci(gfx11): add weekly master+gfx11 builds on frozen ROCm 7.14#64

Open
jimw567 wants to merge 1 commit into
gfx11from
jimwu.gha-weekly-714-builds
Open

ci(gfx11): add weekly master+gfx11 builds on frozen ROCm 7.14#64
jimw567 wants to merge 1 commit into
gfx11from
jimwu.gha-weekly-714-builds

Conversation

@jimw567

@jimw567 jimw567 commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Extends the Build gfx11 + ROCm workflow from a single nightly build to three variants, driven by a new setup matrix job:

Variant Source ref ROCm channel Rolling tag Cadence
A gfx11 latest nightly (7.15) gfx11-rocm-nightly nightly (unchanged)
B master 7.14 release (frozen) master-rocm-714 weekly (Thu)
C gfx11 7.14 release (frozen) gfx11-rocm-714 weekly (Thu)

The two new 7.14 variants build weekly (Thursday, ahead of weekend regressions) so we can run regressions against a fixed ROCm 7.14 while the llama.cpp source varies week to week.

Details

  • New setup job emits the build matrix from the event: push/PR build only variant A's shape (triggering ref + latest, no release) so PR CI cost/latency is unchanged; workflow_dispatch picks legs via a build_set input (nightly / weekly / all).
  • ROCm channel resolution: the detector now accepts a bare X.Y channel (e.g. 7.14) -> highest therock-dist-linux-multiarch-7.14.0a* tarball, alongside latest (highest overall) and an explicit pinned version override. The 7.14 line is frozen at 7.14.0a20260624 (last build before 7.15 alphas began), so "7.14 release" is deterministic.
  • build-ubuntu / test-gfx / create-release are all matrixed over the variants. Per-variant ccache keys and artifact names avoid cross-variant thrash/collision; each build writes build-meta.txt (ref, commit, ROCm version) into its artifact so downstream jobs read provenance without fragile matrix outputs.
  • Rolling per-variant tags: create-release deletes and recreates each variant's tag at the exact built commit, so each tag always points at the newest build.

Note: variant A's release tag changes from dated b<YYYYMMDD> to the rolling gfx11-rocm-nightly.

Cadence wiring

GitHub cron only fires from the default branch, so the weekly build uses the existing external-cron mechanism (same as the nightly). Add on the CI host:

# weekly Thursday (variants B + C)
7 9 * * 4  gh workflow run build-gfx11-rocm.yml --repo AMD-Ecosystem/llama.cpp --ref gfx11 -f build_set=weekly -f create_release=true

Test plan

  • Dispatch build_set=nightly (create_release=false) - confirm 1 leg (A), builds latest ROCm, gfx1151 test passes.
  • Dispatch build_set=weekly (create_release=false) - confirm 2 legs (B master, C gfx11), both resolve ROCm 7.14.0a20260624, gfx1151 tests pass.
  • Dispatch build_set=weekly create_release=true - confirm rolling tags master-rocm-714 and gfx11-rocm-714 publish at the built commits.
  • Confirm push/PR to gfx11 still builds only variant A and never releases.

@jimw567
jimw567 force-pushed the jimwu.gha-weekly-714-builds branch from 5bb53b6 to e1b0278 Compare July 24, 2026 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant