Appearance
Releaseverifisering
Kjør denne kontrollen før Lumi brukes i et rent BYOC-installasjonsbevis eller i en kunde-pilot. Målet er å bevise at kildekode, npm-pakke, GHCR-images, Helm-chart, dokumentasjon, changelog og kjente åpne saker peker på samme release.
Hard gate
Hvis npm run verify:release-artifacts feiler, skal ikke installasjonsbeviset i #397 startes. Stopp release-løpet, koble feilen til en konkret issue, og kjør kontrollen på nytt etter at feilen er rettet.
Ingen kunde-pilot på 1.x
De forventede verdiene nedenfor beskriver tekniske 1.x-forhåndsvisningsartefakter og kan ikke godkjennes som kundebaseline. Release-løpet etter #540, #543 og #456 skal sette chart og appVersion til 2.0.0, oppdatere alle forventede verdier og kjøre verifikasjonen på nytt. Først da er baselinen kundestøttet.
Kommando
Kjør fra en oppdatert, ren checkout av main:
sh
npm run verify:release-artifacts -- --markdownLagre Markdown-output i release-audit for den konkrete datoen, for eksempel:
sh
npm run verify:release-artifacts -- --markdown > docs/audits/YYYY-MM-DD-release-artifacts.mdVerifikatoren slår mot npmjs, GitHub Packages/GHCR og GitHub Actions. Den feiler når en forventet artefakt mangler, når npm latest ikke matcher kildeversjonen, eller når publiserte installasjonsreferanser er ute av takt med charts/lumi/Chart.yaml. Release-taggen skal være v<chart-version>; GitHub Release og SBOM-assets opprettes av .github/workflows/release.yaml.
Forventede artefakter
| Artefakt | Forventet kildeverdi | Må registreres i audit |
|---|---|---|
| Widget npm-pakke | @lumianalytics/survey@0.6.1 | Publisert versjon, latest dist-tag, og eventuell npm-integritet/shasum. |
| GitHub Release | v1.0.1 | Release-URL, source SHA, lumi-release-manifest.json, Helm package og CycloneDX SBOM-assets. |
| API image | ghcr.io/asorheim/lumi-analytics/lumi-api:1.0.0 | Manifest-list digest, tag@digest pin, tags, opprettet tidspunkt, package-lenke og OCI-embedded BuildKit provenance/SBOM. |
| Dashboard image | ghcr.io/asorheim/lumi-analytics/lumi-dashboard:1.0.0 | Manifest-list digest, tag@digest pin, tags, opprettet tidspunkt, package-lenke og OCI-embedded BuildKit provenance/SBOM. |
| Helm chart | oci://ghcr.io/asorheim/lumi-analytics/charts/lumi --version 1.0.1 | OCI digest, chart-versjon, appVersion og kilde (charts/lumi/Chart.yaml). |
| Dokumentasjon | deploy-docs.yaml på main | Siste workflow-status, commit-SHA og URL. |
| Changelog | packages/survey/CHANGELOG.md og Changelog | Entry for 0.6.1 og bekreftelse på at public changelog inkluderer package-changelog. |
Checklist
- [ ]
npm view @lumianalytics/survey --jsonviser0.6.1iversionsogdist-tags.latester0.6.1. - [ ] GHCR har
lumi-api:1.0.0; audit inneholderdigest=sha256:...ogpinned=ghcr.io/asorheim/lumi-analytics/lumi-api:1.0.0@sha256:.... - [ ] GHCR har
lumi-dashboard:1.0.0; audit inneholderdigest=sha256:...ogpinned=ghcr.io/asorheim/lumi-analytics/lumi-dashboard:1.0.0@sha256:.... - [ ] GitHub Release
v1.0.1finnes og harlumi-release-manifest.json,lumi-api-sbom.cyclonedx.json,lumi-dashboard-sbom.cyclonedx.jsonog Helm package som assets.
- [ ]
docker buildx imagetools inspect ghcr.io/asorheim/lumi-analytics/lumi-api:1.0.0 --format '{{ json .Provenance }}'viser BuildKit provenance. - [ ]
docker buildx imagetools inspect ghcr.io/asorheim/lumi-analytics/lumi-api:1.0.0 --format '{{ json .SBOM }}'viser BuildKit SBOM. - [ ]
docker buildx imagetools inspect ghcr.io/asorheim/lumi-analytics/lumi-dashboard:1.0.0 --format '{{ json .Provenance }}'viser BuildKit provenance. - [ ]
docker buildx imagetools inspect ghcr.io/asorheim/lumi-analytics/lumi-dashboard:1.0.0 --format '{{ json .SBOM }}'viser BuildKit SBOM.
- [ ] GHCR har chartet
lumi:1.0.1; audit inneholder digest. - [ ] Installasjonsdocs bruker
--version 1.0.1,lumi-api:1.0.0,lumi-dashboard:1.0.0,api.image.digestogdashboard.image.digest. - [ ]
deploy-docs.yamler grønn for release-kilden som skal sendes til kunde. - [ ] Changelog-entry for
@lumianalytics/survey@0.6.1er synlig. - [ ] Kjente åpne kundegap er listet med issue-nummer og eksplisitt status.
Kjente kundegap som skal vurderes
Denne listen er en seed-list for audit, ikke en erstatning for å sjekke åpne issues. Verifikatoren henter status for disse sakene når den kjøres.
| Issue | Hvorfor den betyr noe |
|---|---|
| #381 | Publiserer @lumianalytics/survey@0.6.1 til npm. Dette blokkerer releaseverifisering til latest matcher kildeversjonen. |
| #397 | Rent BYOC-installasjonsbevis fra publiserte artefakter. Dette skal ikke starte før releaseverifiseringen er grønn. |
| #212 | Entra ID-guide må være tydelig nok for første enterprise-kunde. |
| #213 | Provider-spesifikke OIDC-guider må enten være ferdige eller eksplisitt utsatt. |
| #73 | Azure-validering må enten være bevist eller tydelig merket som ikke-verifisert. |
| #173 | Databehandleravtale/personvernartefakter må eies før procurement. |
| #183 | Lisens-/NOTICE-pakke må være avklart før distribusjon til kunde. |
| #246 | Tenant-slug/tenant-oppsett må være lukket, akseptert eller eksplisitt utsatt. |
Failure policy
Feil i releaseverifiseringen skal behandles som release-drift, ikke som dokumentasjonsstøy.
- Mangler npm
0.6.1ellerlatest != 0.6.1: stopp på #381. - Mangler GHCR image/chart tag: rett release-workflowen og kjør den fra Git-taggen
v<chart-version>; ikke repush versjonstaggen manuelt framain. - Manifest-listen, BuildKit provenance eller SBOM mangler for en image-tag: rett release-workflowen og kjør den fra Git-taggen
v<chart-version>; ikke bruk image-taggen i kundeinstallasjon før release metadata finnes. - Changelog eller docs peker på feil versjon: rett docs før installasjonsbevis.
- Docs publish er rød eller mangler: re-kjør
deploy-docs.yamlfør kunde-link deles. - Kjente kundegap mangler status: oppdater audit med issue-lenker og beslutning før release claim.
