ci(skills): publish onboarding archive on main pushes - #1067
Conversation
Signed-off-by: phernandez <paul@basicmachines.co>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 31b806de40
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| test -f "$asset" | ||
|
|
||
| if gh release view "$RELEASE_TAG" >/dev/null 2>&1; then | ||
| gh release upload "$RELEASE_TAG" "$asset" --clobber |
There was a problem hiding this comment.
Avoid clobbering the only release asset before upload
When an existing skills-latest release is updated, this uses gh release upload --clobber; the GitHub CLI docs for gh release upload state that --clobber deletes the existing asset before uploading the replacement, so if the runner is cancelled or the upload fails after deletion, the stable releases/download/skills-latest/memory-onboarding.zip URL will be left without an asset until a later successful rerun. This is especially relevant here because the workflow also uses cancel-in-progress: true, so overlapping main pushes can interrupt a publish while it is replacing the only downloadable archive.
Useful? React with 👍 / 👎.
Why
memory-onboardingincludes supporting files, so chat clients need a packaged ZIP rather than a singleSKILL.md. That archive should trackmaincontinuously instead of waiting for a Basic Memory product release.What Changed
mainand by manual dispatchskills/sourcesskills-latestGitHub releasememory-onboarding.zipon each run without marking the rolling release as the product's latest releaseImplementation Details
The workflow uses the existing dependency-free validation and packaging scripts. A concurrency group cancels stale runs, and
gh release upload --clobberkeeps this download URL stable:https://github.com/basicmachines-co/basic-memory/releases/download/skills-latest/memory-onboarding.zipTesting
uv run python scripts/validate_skills.py skillsuv run python scripts/build_skills_dist.pyunzip -t dist/skills/memory-onboarding.zip.github/workflows/publish-skills.ymlas YAMLjust package-checkAll checks passed.
Risks / Follow-ups
The stable download URL becomes available after this workflow lands on
mainand completes its first run. The workflow requirescontents: writesolely to manage the rolling release asset.