Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions .github/workflows/appliance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ jobs:
# `/` has ~14 GB free on a runner, `/mnt` has ~70. Building anywhere else
# dies on disk space, twenty minutes in.
BUILD_DIR: /mnt/appliance
# Le nom des images vient du TAG VISÉ, et non de la ref qui porte le build.
# Sur un `push` de tag les deux coïncident ; sur un `workflow_dispatch` —
# celui qui sert à rattraper un build manqué — le job tourne sur `main`, et
# les images s'appelaient alors `dsoxlab-appliance-main.ova`. Elles
# s'attachaient pourtant à la bonne Release, si bien que la documentation
# annonçait un fichier que personne ne pouvait trouver. Vécu sur la 0.3.0.
IMAGE_REF: ${{ inputs.tag || github.ref_name }}

steps:
- name: Harden the runner
Expand Down Expand Up @@ -152,7 +159,7 @@ jobs:
set -euo pipefail
packer init .
packer validate \
-var "image_version=${GITHUB_REF_NAME#v}" \
-var "image_version=${IMAGE_REF#v}" \
-var "iso_url=${ISO_URL}" \
-var "iso_checksum=sha256:${ISO_SUM}" \
-var "output_directory=${BUILD_DIR}/out" .
Expand All @@ -172,7 +179,7 @@ jobs:
export PACKER_LOG=1
export PACKER_LOG_PATH="${BUILD_DIR}/packer.log"
if ! packer build \
-var "image_version=${GITHUB_REF_NAME#v}" \
-var "image_version=${IMAGE_REF#v}" \
-var "iso_url=${ISO_URL}" \
-var "iso_checksum=sha256:${ISO_SUM}" \
-var "output_directory=${BUILD_DIR}/out" . ; then
Expand All @@ -191,7 +198,7 @@ jobs:
# Verified locally before this workflow existed: the resulting OVA imports
# into VirtualBox 7.0 ("Successfully imported the appliance"), and the disk
# comes back byte-identical after the conversion.
run: bash packer/faire-ova.sh "${GITHUB_REF_NAME#v}" "${BUILD_DIR}/out"
run: bash packer/faire-ova.sh "${IMAGE_REF#v}" "${BUILD_DIR}/out"

- name: The OVF must validate against the DMTF schema
# VirtualBox imports almost anything; VMware checks. Since the same OVA
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ et le projet suit le [versionnage sémantique](https://semver.org/lang/fr/).

### Corrigé

- **Les images de l'appliance étaient nommées d'après la branche et non la
version** (build de cette release). Un `workflow_dispatch` — la façon de
rattraper un build manqué — tourne sur `main`, et les images s'appelaient donc
`dsoxlab-appliance-main.ova`. Elles s'attachaient pourtant à la bonne Release,
si bien que la documentation annonçait un fichier introuvable. Le nom vient
désormais du **tag visé**, ce que l'étape d'attachement employait déjà.
- **La fabrique de l'appliance refusait au lieu de nettoyer** (build de cette
release même). Debian a publié un noyau entre l'ISO et le build : l'installateur
pose le sien **explicitement**, donc `apt-get autoremove` n'y touche jamais, et
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- **The appliance images were named after the branch, not the version** (build of
this release). A `workflow_dispatch` — the way a missed build is caught up —
runs on `main`, and the images were therefore called
`dsoxlab-appliance-main.ova`. They attached to the right Release all the same,
so the documentation announced a file nobody could find. The name now comes
from the **tag being targeted**, which is also what the attach step already
used.
- **The appliance build refused instead of cleaning up** (build of this very
release). Debian published a kernel between the ISO and the build: the
installer lays down its own **explicitly**, so `apt-get autoremove` never
Expand Down