Publish from CI without a secret
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline failed

Woodpecker hands every step a forge credential for cloning — an access token of the
repository's owner — and a one-off diagnostic in the check step confirmed it is there.
scripts/ci-upload.sh now uses it when no `gitea_token` secret is set, so publishing a
release needs nothing configured. Gitea takes such a credential as `token …` or
`Bearer …` depending on how Woodpecker was set up, so the script probes which of the two
`/user` accepts rather than assuming, and says which one it used.

The secret mapping is gone from the step as well: referencing a secret that does not
exist is a failure mode of its own, and the fallback is the normal path now. Adding a
`gitea_token` secret and mapping it back in is how you publish as somebody else.

Documents the release flow the pipeline now implements: push a vX.Y.Z tag, the pipeline
builds Linux and Windows and creates the release with them in it, and `make release` from
a Mac pushes the macOS package onto the same release. Either half can go first.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-18 17:15:58 +02:00
co-authored by Claude Opus 5
parent 2f725fdd14
commit 7026e0cc6a
4 changed files with 63 additions and 30 deletions
+9 -5
View File
@@ -58,11 +58,15 @@ window failed it.
### Linux and Windows packages now come from CI
`.woodpecker.yaml` builds the AppImage, the deb, the NSIS installer and the portable
exe — Windows through Wine — and on a tag attaches them to this release. macOS stays a
local build, because Apple's toolchain and its signing exist only on a Mac, so a full
release is one local `make release` plus the pipeline. The Windows installer is not
signed: Windows will warn about an unknown publisher until there is a certificate.
A `vX.Y.Z` tag now starts the pipeline, which builds the AppImage, the deb, the NSIS
installer and the portable exe — Windows through Wine — **creates this release** and
attaches all four. macOS stays a local build, because Apple's toolchain and its signing
exist only on a Mac, so `make release` from a Mac pushes that package onto the same
release afterwards. No secret is involved: the pipeline publishes with the forge
credential Woodpecker already gives every step.
The Windows installer is not signed: Windows will warn about an unknown publisher until
there is a certificate.
### Opening it on macOS