ci(sidecar): automated build + release workflow (Gitea Actions) #2
Reference in New Issue
Block a user
No description provided.
Delete Branch "ci/sidecar-release"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds automated CI/CD for the Rust sidecar: build, cross-compile, and release on every push to
main.What it does
.gitea/workflows/release.yml— on push tomain:v*tag:feat!:/BREAKING CHANGE→ major,feat:→ minor,fix:/perf:→ patch, nothing releasable → no release.Cargo.tomlversion as-is (v0.1.0).x86_64-pc-windows-gnutarget +gcc-mingw-w64-x86-64, sets the crate version, runscargo fmt --check→cargo test, buildsx86_64-unknown-linux-gnu, and cross-builds the Windows.exevia MinGW (libsqlite3-sysbundled is the only native dep — no openssl/ring/rustls, so cross-compile is the easy case).uo-link-sidecar-linux-x86_64,uo-link-sidecar-windows-x86_64.exe,SHA256SUMS.chore(release): bump version to vX.Y.Z [skip ci], tags, pushes, then creates the Gitea release and uploads the three assets.The engine/adapter split keeps the release automation language-agnostic (consumes only
{version, changelog, artifacts}) so it can be retargeted at C#/Node/Docker/static projects later — only the Rust adapter steps are Rust-specific.Also includes a
style(sidecar): apply rustfmtcommit so the newcargo fmt --checkgate passes on the first run (formatting only, no behavior change).Prerequisites before this can cut a release
REGISTRY_USER/REGISTRY_TOKEN. The token additionally needswrite:repositoryscope (push the bump commit + tag, create the release) on top of thewrite:packageit had.mainmust accept a direct push from that user (no blocking branch protection), since the version-bump commit lands onmain. The bump commit carries[skip ci]so it does not re-trigger the workflow.Note on this diff
This branch is based on
feature/admin-controls, so until PR #1 merges, this PR also shows those admin commits. Merging PR #1 first will collapse this down to just the rustfmt + CI commits.🤖 Generated with Claude Code