Skip to content

ci: patches job, candidate_id and replace for the hatchet pipeline - #2

Merged
Vect0rM merged 2 commits into
atomicfrom
ci/pipeline-hooks
Oct 21, 2026
Merged

Vect0rM merged 2 commits into
atomicfrom
ci/pipeline-hooks

Conversation

@Vect0rM

@Vect0rM Vect0rM commented Oct 21, 2026

Copy link
Copy Markdown
Member

What atomic-hatchet-pipeline (engine sd-cpp) needs from Release (Atomic) to sync this fork with each new upstream tag through upstream-sync/<tag> branches.

  • candidate_id goes into the run title as [cid:<id>]; the pipeline finds its run by it when the dispatch returns no id. prepare rejects ids outside ^[A-Za-z0-9._:-]{1,80}$.
  • patches, the first job that touches the tree, runs atomic/ci/apply-patches.sh --check on the tag; every build job needs it. The pipeline tells a patch conflict from a broken build by whether this job failed, so its id and name are part of the interface.
  • replace: publishing an existing release now fails (early, in prepare) unless it is on. With it, archives the build no longer names are removed, since asset names carry the runner's macOS and the ROCm version and conf's mirror-sdcpp.yml refuses two matches of one pattern.
  • apply-patches.sh --check changes nothing: each patch is checked on top of the ones before it in a scratch index, every one that does not apply is reported with git's reason, and one that reverses cleanly is flagged as already upstream.
  • atomic/README.md describes the sync, the branches, the PR the pipeline merges, and how to fix a sync by hand.

Checked: --check on master-975-95b3090 (applies, tree stays clean) and with test patches (dependent, conflicting, ggml--, already upstream); a simulated upstream-sync/master-975-95b3090 merges cleanly and differs from the tag only in the Atomic files; actionlint + shellcheck report nothing new against atomic.

Upstream's build.yml, stale-prs.yml and close-inactive-issues.yml are disabled in this fork's Actions.

🤖 Generated with Claude Code

Vect0rM and others added 2 commits October 20, 2026 16:36
The check changes nothing in the checkout: each patch goes through
git apply --check against a scratch index that already holds the patches
before it, so a patch that builds on an earlier one is checked the way the
real run applies it. Every patch that does not apply is listed with git's
reason (the context it searched for), outside a log group so it is not
folded away, and the exit status is 1 if any did not. A patch that reverses
cleanly has landed upstream and is flagged for deletion.

Checked on master-975-95b3090 (the series applies, the tree stays clean)
and with test patches: one depending on 0001, a conflicting one, a ggml--
one and one already upstream.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
atomic-hatchet-pipeline is to sync this fork with each new upstream tag:
it fast-forwards master, merges the tag into upstream-sync/<tag> made from
atomic, and dispatches Release (Atomic) on that branch. What it needs here:

- candidate_id goes into the run title as [cid:<id>], by which the pipeline
  finds its run when the dispatch returns no id; prepare rejects ids with
  spaces or brackets, which would break that match.
- A first job named `patches` checks the series on the tag before anything
  is built, and every build job needs it. The pipeline tells a patch
  conflict (its agent fixes the series) from a broken build by whether this
  job failed, so its id and name are part of the interface. smoke-windows
  lists it too: its condition lets skipped jobs through, and a failed
  patches job skips them all.
- publish no longer overwrites an existing release; the run fails in
  prepare, before hours of builds, unless replace is on. With replace,
  archives the build no longer names are removed: names carry the runner's
  macOS and the ROCm version, and mirror-sdcpp.yml in conf refuses two
  assets matching one pattern.

atomic/README.md describes the sync, the upstream-sync/<tag> branches, the
PR into atomic the pipeline merges, and how to fix a sync by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Vect0rM
Vect0rM merged commit 89783ee into atomic Oct 21, 2026
28 of 29 checks passed
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