fix(release): toets de appimagetool-pin vóór de tag (#2324) #2326
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!2326
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/2324-appimagetool-pin-preflight"
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?
Sluit #2324.
Kern
v0.6.14 brak pas ná de onomkeerbare tag: upstream had de rollende
continuous-asset van appimagetool op 04-10-2026 vervangen. De vastgelegde sha256 faalde terecht fail-closed in de Linux-job (release-run 5479, job 23681) — maar dat was tien minuten en één tag te laat.Wijziging
scripts/release_auto.sh: nieuweassert_appimagetool_pinin de pre-flight, vóór elke branch/tagmutatie. LeestAPPIMAGETOOL_URL/APPIMAGETOOL_SHA256uit.forgejo/workflows/release.yml(of dezelfde env-override alspackage_linux.sh), leidt de GitHub release-API af uit de asset-URL, en vergelijkt de pin met het officiëledigest-veld.diemet vastgelegde én actuele digest plus concreet herstelcommando (API bekijken, pin bijwerken, commit op main).digest-veld → onbekend, niet afwezig.--resumemét al-gepushte tag wordt een afwijking een waarschuwing: er is dan geen mutatie meer om vóór te blokkeren en de lopende keten gebruikt de pin van de tag-commit.95cbe7cc…d29b6na herkomstcontrole: de GitHub-API-digest én een zelfstandig gedownloade kopie van de asset geven identiek die hash (klopt met het incidentbewijs uit het issue).packaging/README.mdbeschrijft de nieuwe pre-flight en de herkomstcontrole bij re-pinnen; commentaar inrelease.ymlwijst ernaar.Onderzoek: rollende download vervangen?
Gevraagd alternatief — een intern content-addressed exemplaar of appimagetool in het gepinde
ocideck-ci-image bakken — is mogelijk (image is al digest-gepind), maar koppelt elke appimagetool-update aan een image-rebuild + manifestwijziging in een andere pipeline. De digest-poort geeft nu al fail-closed gedrag vóór de tag. Een forge-eigen kopie (bijv. als release-asset op de forge zelf) blijft een nette vervolgstap als upstream-churn structureel blijkt; nu niet nodig.Tests
Nieuw:
test/release_auto_appimage_pin_test.dart— hermetisch harnas, geen netwerk:package_linux.sh.Verificatie
make checkvolledig groen.digeststaat op het asset (geverifieerd live), en de bytes zelf zijn gehasht ter herkomstcontrole van de nieuwe pin.Generated with Devin