FEAT: Version automatique des builds agents + publication des artefacts (image agent + binaires) #95
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#95
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Contexte
Chaque build doit produire un numéro de version automatique pour les agents, affiché dans l'UI. Aujourd'hui la version de l'agent est codée en dur (
AgentOptions.Version = "1.0.0"dansappsettings.json), le workflow release ne publie que l'image du Web, et l'imageeltruncho/heimdall-agentréférencée pardocker-compose.prod.ymln'est jamais construite par le pipeline.Référence — étude Pangolin (fosrl/pangolin, 12/08/2026)
cicd.yml,on: push: tags), version =TAG=${GITHUB_REF#refs/tags/}.sed -i "s/export const APP_VERSION = \".*\";/export const APP_VERSION = \"$TAG\";/" server/lib/consts.ts+--build-arg VERSION=$(tag)pour les images +-ldflagspour les binaires Go (install/main.go:pangolinVersion/gerbilVersion/badgerVersion).:latestseul), binaires release par plateforme/arch, digests sha256 exposés via API.État actuel Heimdall (constats code)
src/Heimdall.Agent/appsettings.json:"Version": "1.0.0";AgentOptions.Versiondéfaut"1.0.0".RegisterRequest.Version,AgentRegistrationService.cs:103) et affichée dansAgentDetail.razor(lignes 54-55) — mais toujours1.0.0..forgejo/workflows/release.yml:docker-images: eltruncho/heimdall docker/Dockerfile— pas d'image agent.À faire
Heimdall.Agent.csproj:<Version>$(BuildVersion)</Version>+InformationalVersion, avec défaut local1.0.0-dev;Assembly.GetExecutingAssembly()(InformationalVersion) au démarrage →AgentOptions.Versiondevient readonly calculée, plus jamais1.0.0codé ;ARG VERSION+ENV/MSBuild property pour injecter le tag.nonobis/templatesci-release,release.yml) :eltruncho/heimdall-agent(Dockerfile agent) taguéevX.Y.ZETlatest;heimdall-agent-linux-amd64,-linux-arm64,-win-x64(dotnet publish single-file self-contained), avec sha256 dans les notes/API ;v*reste le déclencheur unique.AgentDetail) + version du Central quelque part (footer ou page Settings) — « chaque build donne un numéro visible ».Critères d'acceptation
v1.2.3produit : image web, image agent, binaires Linux/Windows avec digests.1.2.3dans l'UI (pas1.0.0).docker pull eltruncho/heimdall-agent:v1.2.3fonctionne.Fichiers concernés
src/Heimdall.Agent/Heimdall.Agent.csproj,appsettings.json,AgentOptions.cs,Program.cs.forgejo/workflows/release.ymldocker/Dockerfile.agent(oudocker/Dockerfilesi multi-stage)docker/docker-compose.prod.ymlsrc/Heimdall.Web/Components/Pages/AgentDetail.razorMaquette
Description
Affichage de la version de l'agent (central + agent) : badge version dans l'en-tête de la fiche agent, ligne Version dans les métadonnées (avec date de build), et footer
Maquette
Maquette the-designer intégrée (14/08/2026) :