# Publier une release Les installateurs one-liner (`install.sh` et `install.ps1`) téléchargent les binaires attachés à la **dernière release** du dépôt Gitea (https://git.dracodev.net/Projets/agent-manager). Sans binaire pour la plateforme, ils retombent sur `cargo install --git` (plus lent mais toujours fonctionnel). ## 1. Bumper la version Dans Cargo.toml (ex. `0.2.1`), puis mettre à jour Cargo.lock (`cargo check`) et compiler : cargo build --release # binaire Windows (am.exe) sur Windows # binaire Linux STATIQUE (musl) : compatible toutes distributions, # y compris Debian 12 (glibc 2.36) — ne JAMAIS publier un binaire glibc # compilé sur une base récente. docker run --rm -v "${PWD}:/work" -w /work -e CARGO_TARGET_DIR=/tmp/target-musl \ rust:1.94-alpine sh -c "apk add --no-cache build-base && \ rustup target add x86_64-unknown-linux-musl && \ cargo build --release --locked --target x86_64-unknown-linux-musl && \ cp /tmp/target-musl/x86_64-unknown-linux-musl/release/am dist/am-linux-x86_64" ## 2. Créer les archives des binaires Windows (PowerShell) : Compress-Archive target\release\am.exe am-windows-x86_64.zip Linux (l'archive doit contenir un fichier nommé « am ») : docker run --rm -v "${PWD}:/work" -w /work rust:1.94-alpine sh -c \ "cd dist && cp am-linux-x86_64 am && tar -czf am-linux-x86_64.tar.gz am && rm am" ## 3. Créer la release sur Gitea Via l'interface web : Releases > New Release, tag v0.2.0, attacher les archives ci-dessus. Ou via l'API (jeton Gitea requis) : curl -X POST -H "Authorization: token " \ -H "Content-Type: application/json" \ -d '{"tag_name":"v0.2.0","name":"v0.2.0","body":"notes de version"}' \ https://git.dracodev.net/api/v1/repos/Projets/agent-manager/releases curl -X POST -H "Authorization: token " \ -F "attachment=@am-windows-x86_64.zip" \ https://git.dracodev.net/api/v1/repos/Projets/agent-manager/releases//assets?name=am-windows-x86_64.zip curl -X POST -H "Authorization: token " \ -F "attachment=@am-linux-x86_64.tar.gz" \ https://git.dracodev.net/api/v1/repos/Projets/agent-manager/releases//assets?name=am-linux-x86_64.tar.gz ## 4. Tag git git tag v0.2.0 && git push origin v0.2.0 Les conventions de nommage attendues par les installateurs : - am-windows-x86_64.zip (contient am.exe) - am-linux-x86_64.tar.gz (contient am)