1.4 KiB
1.4 KiB
Gitea CI and rolling releases
Gitea Actions reads workflows from .gitea/workflows/. This repository has two
workflows:
flowchart LR
Push[Push / pull request] --> CI[.gitea/workflows/ci.yml]
CI --> Tests[npm test + Python syntax + package smoke]
Main[Push to main] --> RR[rolling-release.yml]
RR --> Build[Build deb + extension + checksums]
Build --> API[Gitea release API]
API --> Tag[Move rolling tag]
API --> Release[Replace rolling prerelease]
Required repository configuration
Create a repository secret named RELEASE_TOKEN. It must be able to read the
repository and create/update tags, releases, and release assets. The workflow
references it as ${{ secrets.RELEASE_TOKEN }}; the value is never committed.
Rolling behavior
Each push to main runs tests and packaging. The publish script:
- Deletes the existing release associated with
rolling, if present. - Moves or creates the
rollingtag at the pushed commit. - Creates a prerelease named with the commit prefix.
- Uploads the
.deb, extension ZIP, andSHA256SUMS.
The moving tag is intentionally mutable. Permanent releases should use reviewed immutable tags after validating a rolling artifact.
Local rehearsal
npm ci
npm test
npm run package
cat dist/SHA256SUMS
Do not run the publish script locally unless GITEA_SERVER_URL,
GITEA_REPOSITORY, GITEA_SHA, and a write-capable RELEASE_TOKEN are
intentionally set.