Un seul job build qui:
1. Build 3 archs (linux amd64, linux arm64, windows amd64)
2. Lance les tests
3. Upload les binaires comme artifacts (dispo dans Actions > Summary)
4. Si tag v*: crée une release Gitea + attache les binaires (curl API)
Plus besoin de job release séparé — tout est dans build.
Un seul workflow avec 2 jobs:
- build: compile 3 archs + test + upload artifacts (tous les push/PR)
→ binaires téléchargeables dans l'onglet Actions > Summary > Artifacts
- release: seulement sur tag v*, download les artifacts, crée une
release Gitea avec les 3 binaires attachés (curl API, idempotent)
- ci.yml: build + test sur chaque push/PR (lightweight)
- release.yml: cross-compile linux/x86_64, linux/arm64, windows/x86_64
puis crée une release Gitea avec curl + API (idempotent, re-run safe)
The vlang:alpine container lacks Node.js which Gitea Actions needs
for action steps (checkout@v4). Now installs V from source on the
default ubuntu-latest runner image instead.