Skip to content

ci: TECH-2181 attach the OpenAI plugin ZIP to the GitHub release (public download link) - #8

Merged
voisula merged 1 commit into
mainfrom
cursor/release-openai-plugin-zip-c1d8
Oct 26, 2026
Merged

voisula merged 1 commit into
mainfrom
cursor/release-openai-plugin-zip-c1d8

Conversation

@voisula

@voisula voisula commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Actions artifacts need a GitHub login (verified: anonymous download returns 404) and expire after 90 days, so the OpenAI plugin ZIP had no link we could hand to a reviewer.

New .github/workflows/release.yml:

  • On every v* tag push: builds the ZIP from the tagged commit and uploads it to that tag's GitHub release. The release is created if missing, with --verify-tag so a typo fails instead of minting a new tag.
  • Uploads under two names: the versioned tracklution-openai-plugin-<plugin version>.zip and a stable tracklution-openai-plugin.zip, so releases/latest/download/tracklution-openai-plugin.zip always points at the newest build.
  • Can be run by hand (Actions > release > Run workflow) for an existing tag; the ZIP is then built from the selected branch. This is how the v3.3.0 release gets a ZIP built from current main (the v3.3.0 commit predates the icons and the skill fix).
  • The run summary prints the two public links.
  • permissions: contents: write, GITHUB_TOKEN only; no third-party actions beyond checkout/setup-node.

README: the layout block now lists plugins/, server.json and all four workflows, and the Publishing section documents the release flow plus what to bump for each directory (OpenAI package version, Claude validate, Registry server.json version).

Verification

  • actionlint 1.7.12 (incl. shellcheck): no findings.
  • The release step's shell was dry-run locally against a fake gh for both a missing release (view fails → create → upload) and an existing one (view ok → upload only); both exit 0 and write the expected summary.
  • npm test 98 pass / 2 skipped, npm run lint clean. The workflow itself can only run on a tag push or dispatch, so the first real run is the manual dispatch for v3.3.0 after merge.

After merge

Actions > release > Run workflow > branch main, tag v3.3.0. That creates release 3.3.0 with the ZIP; the public link is https://github.com/tracklution/tracklution-cli/releases/download/v3.3.0/tracklution-openai-plugin-1.0.0.zip.

Links

Open in Web Open in Cursor 

…* tags

Actions artifacts need a GitHub login and expire after 90 days, so the ZIP
had no link we could hand to a reviewer. release.yml builds the ZIP on every
v* tag push and uploads it to that tag's release (created with --verify-tag
when missing), under its versioned name and as tracklution-openai-plugin.zip
so releases/latest/download/... always points at the newest build. It can
also be dispatched by hand for an existing tag, building from the selected
branch, which is how the v3.3.0 release gets the ZIP built from main.

README: document the release flow and what to bump for each directory.

Co-authored-by: Sami Soiluva <voisula@users.noreply.github.com>
@voisula
voisula merged commit 47ac014 into main Oct 26, 2026
5 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.

2 participants