Skip to content

fix(appliance): nommer les images d'après le tag visé, pas la branche - #293

Merged
stephrobert merged 1 commit into
mainfrom
fix/appliance-nom-image
Oct 1, 2026
Merged

stephrobert merged 1 commit into
mainfrom
fix/appliance-nom-image

Conversation

@stephrobert

Copy link
Copy Markdown
Owner

Summary

Les images de la 0.3.0 se sont appelées dsoxlab-appliance-main.ova.

Le nom venait de GITHUB_REF_NAME, c'est-à-dire de la ref qui porte le build. Sur un push de tag les deux coïncident ; sur un workflow_dispatch — précisément la façon de rattraper un build manqué, ce qu'il a fallu faire pour cette release — le job tourne sur main.

Le pire est qu'elles s'attachaient à la bonne Release : la version était juste partout sauf dans le nom du fichier. La documentation annonce dsoxlab-appliance-0.3.0.ova, et personne ne pouvait le trouver.

L'étape d'attachement employait déjà inputs.tag || github.ref_name. C'est désormais la seule source du nom, posée une fois en env: du job et employée aux trois endroits qui nommaient l'image.

Ce que le build précédent a quand même prouvé

Le contenu de l'image est bon, et c'est mesuré sur le fichier publié — le seul contrôle qui vaut pour la remontée #279 :

octets APRÈS le marqueur de fin : 0        (c'était 64 512 en 0.2.5)

manifeste (.mf)                 : bfae75e0…
SHA du fichier entier           : bfae75e0…
SHA du flux (ce que lit VMware) : bfae75e0…

Et la section d'OS porte ce qu'il faut :

<OperatingSystemSection ovf:id="96" vmw:osType="otherLinux64Guest">
  <Description>Debian GNU/Linux 13 (64-bit)</Description>

Seul le nom du fichier est à reprendre.

Type of change

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • Chore / tooling
  • Security / supply chain

Checklist

Always

  • uv run ruff check … passes — aucun code Python touché
  • uv run mypy src/dsoxlab passes (strict)
  • uv run pytest passes
  • uv run pytest tests_e2e passes
  • The engine stays domain-agnostic
  • No hardcoded personal path or host
  • Manually tested : l'OVA publiée téléchargée, extraite et vérifiée (empreintes, section d'OS) — c'est ce qui a révélé le nom fautif

When behavior changes

  • Both CHANGELOG.md and CHANGELOG.fr.md updated — dans la section 0.3.0 : son appliance n'a pas encore été livrée sous son nom
  • Version bumped — N/A motivé : la 0.3.0 est publiée ; le build sera relancé par workflow_dispatch avec tag: v0.3.0, et les assets mal nommés retirés de la Release

When a command or option is added, removed or changed

  • N/A.

When .github/workflows/ is touched

  • actionlint clean
  • zizmor --offline clean — l'expression ${{ }} est en env: du job, pas dans un run, qui est la forme que zizmor demande
  • poutine analyze_local . --fail-on-violation clean
  • Aucune action ajoutée ni modifiée, aucun job renommé

When the declarative contract changes

  • N/A.

Après le merge

Je relance Appliance avec tag: v0.3.0, puis je retire les deux assets dsoxlab-appliance-main.* de la Release : leur contenu est bon, leur nom est faux, et deux jeux d'images pour une version c'est un de trop.

🤖 Generated with Claude Code

Les images de la 0.3.0 se sont appelées `dsoxlab-appliance-main.ova`. Le nom
venait de `GITHUB_REF_NAME`, c'est-à-dire de la ref qui porte le build : sur un
`push` de tag les deux coïncident, mais sur un `workflow_dispatch` — précisément
la façon de rattraper un build manqué — le job tourne sur `main`.

Le pire est qu'elles s'attachaient à la BONNE Release : la version était juste
partout sauf dans le nom du fichier, si bien que la documentation annonçait
`dsoxlab-appliance-0.3.0.ova` et que personne ne pouvait le trouver.

L'étape d'attachement employait déjà `inputs.tag || github.ref_name`. C'est
maintenant la seule source du nom, posée une fois en `env:` du job et employée
aux trois endroits qui nommaient l'image.

actionlint, zizmor et poutine sont propres.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@stephrobert
stephrobert merged commit 2d9e18d into main Oct 1, 2026
20 checks passed
@stephrobert
stephrobert deleted the fix/appliance-nom-image branch October 1, 2026 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant