- Use gitea.ref/server_url/repository context vars instead of GitHub env vars
- Move API_URL and REPO into env: block so context expressions are evaluated
- Pass gitea.ref via env: for version extraction (GITEA_REF)
- Replace grep/cut JSON parsing with jq throughout
- Fix tag creation body: use 'target' key instead of 'message'
- Add set -euo pipefail and diagnostic echo output to both run blocks
- Add null check on jq-parsed RELEASE_ID in publish-release
- Add ci.yml to build on every push to main (Node 22)
- Add job-level guard on release build job (startsWith refs/tags/v)
- Bump Node to 22 in release.yml to satisfy zotero-plugin-scaffold >=22.8.0
- Extract publish-release as a third job (needs: [build, update-rolling-release])
so the versioned release and XPI are only published after the full pipeline succeeds
Add a second CI job that runs after the versioned release is published.
It upserts a permanent Gitea release tagged 'release', replacing its
assets with the freshly built update.json and update-beta.json.
This is the URL Zotero polls for auto-update checks per manifest.json.
zotero-plugin-scaffold hardcodes a .com-only regex in parseRepoUrl,
causing build failures with non-.com repository URLs. Add:
- scripts/patch-scaffold.mjs: postinstall script that fixes the regex
- zotero-plugin.config.ts: explicit xpiDownloadLink and updateURL
so scaffold generates correct update.json without relying on the parser