1.2 KiB
1.2 KiB
Gitea CI and Release
This repository uses Gitea Actions workflows under .gitea/workflows.
CI
ci.yml runs on main pushes and pull requests:
- Frontend: install with pnpm, run tests, build Vite dist.
- Backend: check Rust formatting and run
cargo test --locked. - Docker: build the production image from
backend/Dockerfile.
Release
release.yml runs when a tag matching v* is pushed.
The workflow:
- Builds and tests the frontend.
- Checks and tests the Rust backend.
- Builds the release binary.
- Packages a runtime bundle with:
fingerprint_receiverfrontend/distbackend/schema.sqlbackend/dataREADME.mdcompose.yml
- Creates or reuses the Gitea release for the tag.
- Uploads release assets.
Gitea 1.26 exposes the built-in job token as ${{ secrets.GITEA_TOKEN }}. The release workflow requests:
permissions:
code: read
releases: write
Manual package
VERSION=v0.1.0 BUILD_DOCKER=1 ./scripts/package-release.sh
Assets are written to release/.
Manual publish
GITEA_TOKEN=... \
GITEA_API_URL=https://git.aiot.ml/api/v1 \
GITEA_REPOSITORY=kanshan/browser-fingerprint \
RELEASE_TAG=v0.1.0 \
./scripts/publish-gitea-release.sh release/*