ci: auto-dispatch bridge asset publishes#18
Open
leehack wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an automated handoff from CI to the asset publishing workflow on successful main pushes, guarded so it only triggers when llama_cpp.version changes and so the publish workflow builds the exact already-validated source SHA.
Changes:
- Added a
dispatch-publish-assetsjob in.github/workflows/ci.ymlthat dispatchespublish_assets.ymlonly for successfulmainpushes wherellama_cpp.versionchanged. - Extended
.github/workflows/publish_assets.ymlto acceptsource_ref, supportassets_tag=auto, resolve the next patch tag, and serialize publishes via workflow concurrency while propagating resolved values across jobs. - Updated reliability-contract checks and maintainer/user docs to reflect the new CI→publish flow.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/verify_ci_reliability.py | Extends the CI reliability contract to assert the new dispatch job behavior, source_ref support, auto tag resolution, and publish concurrency. |
| .github/workflows/ci.yml | Adds a guarded post-CI dispatch job (job-scoped actions: write) that triggers asset publishing only when llama_cpp.version changed on main push. |
| .github/workflows/publish_assets.yml | Adds source_ref, implements assets_tag=auto resolution, propagates resolved outputs, and serializes publishes via concurrency. |
| README.md | Documents the new automatic publish path after merging a llama_cpp.version change. |
| CONTRIBUTING.md | Documents CI-dispatched publishing behavior and reinforces that PR CI must never publish assets. |
| AGENTS.md | Updates maintainer/agent docs to describe the new CI gate and publish serialization/inputs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
eb7d287 to
c93cf9c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CIfollow-up job that dispatchespublish_assets.ymlafter successfulmainpushes only whenllama_cpp.versionchanged.publish_assets.ymlwithassets_tag=autoandsource_refso CI-dispatched publishes build the exact source SHA that already passedmainCI and resolve the next patch assets tag inside serialized publish concurrency.Safety / behavior notes
pushonrefs/heads/mainand has job-scopedactions: write.source_ref=${GITHUB_SHA}and require a full source SHA forassets_tag=auto.publish-bridge-assetsconcurrency so manual and CI-dispatched publishes do not race tag allocation.llama_cpp_tagremains unset for auto-publish, so the publish reads the mergedllama_cpp.versionfrom the validated source checkout.Test Plan
python3 -m py_compile scripts/verify_ci_reliability.pypython3 scripts/verify_ci_reliability.pynpm run check:jsgo run github.com/rhysd/actionlint/cmd/actionlint@latest -color=false .github/workflows/ci.yml .github/workflows/publish_assets.yml .github/workflows/auto_llama_cpp_update.ymlgit diff --checkassets_tag=auto(resolved current latest assets releasev0.1.16tov0.1.17)