ci: add GitHub and Codeberg release build workflows

Add tag-triggered CI that builds and publishes the linux/amd64,
linux/arm64, and windows/amd64 release binaries on both forges.

- scripts/ci-build-release.sh: shared, Docker-free build+package for all
  three targets (Windows cross-compiled via MinGW), reused by both
  workflows so the build logic lives in one place.
- .github/workflows/release.yml: GitHub Actions, publishes via
  softprops/action-gh-release using the built-in token.
- .forgejo/workflows/release.yml: Forgejo Actions for Codeberg, publishes
  via forgejo-release using a RELEASE_TOKEN secret.
- .gitattributes: force LF on workflow YAML so bash run: blocks don't
  break on Linux runners.
- docs/DEVELOPMENT.md: document the tag -> release flow and token setup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
mixeme
2026-07-08 08:32:07 +03:00
parent e9ec48bf15
commit 2f965166ba
5 changed files with 325 additions and 0 deletions
+5
View File
@@ -1,3 +1,8 @@
# Keep shell scripts LF even on Windows checkouts so bash on Linux hosts
# doesn't choke on trailing CRs (e.g. "set: pipefail: invalid parameter name").
*.sh text eol=lf
# CI workflow YAML embeds shell in `run:` blocks that Linux runners execute with
# bash, so keep these LF for the same reason as the shell scripts above.
.github/workflows/*.yml text eol=lf
.forgejo/workflows/*.yml text eol=lf