anthodev/lapin-futepublic Fork
⑂ d6184a2
Commits
⬇ Clone ▾
git clone https://git.rickub.com/anthodev/lapin-fute.git
git clone ssh://git@rickub.com/anthodev/lapin-fute.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

docs: add v1 release checklistUnverified

anthodev committed 2026-09-13T12:31:39+02:00 Browse files
d6184a2 parent: 5f1ff8c
added .github/RELEASE_CHECKLIST.md +48 -0
new file mode 100644
@@ -0,0 +1,48 @@
1+# Lapin Futé 1.0.0 release checklist
2+
3+This checklist tracks GitHub issue [#9](https://github.com/Anthodev/lapin-fute/issues/9). A checked item must point to durable evidence. Emulator or fixture evidence must not be presented as physical-device or production proof.
4+
5+## Prepared in the release branch
6+
7+- [x] Set every package and the configuration page to version `1.0.0`.
8+- [x] Select `https://lapin-fute.b-cdn.net/` as the stable, static HTTPS configuration-site origin.
9+- [x] Build release PBWs with that exact origin and reject release tags that differ from the watch package version.
10+- [x] Package one PBW containing both `emery` and `gabbro`, plus `SHA256SUMS`, as GitHub release assets.
11+- [x] Refresh a real IDFM catalog for production releases; no fixture fallback is available.
12+- [x] Upload immutable catalog files before the manifest pointer.
13+- [x] Compare every built file with its served bytes and validate every current-revision catalog JSON against the manifest schema and revision.
14+- [x] Back up mutable hosted files before deployment and restore them automatically when upload, purge, or served-site verification fails.
15+- [x] Retain each pre-deployment rollback bundle for 30 days and provide a serialized manual rollback workflow.
16+- [x] Record current publication and license research in [`RELEASE_REQUIREMENTS_RESEARCH.md`](RELEASE_REQUIREMENTS_RESEARCH.md).
17+
18+## Blocking evidence before publication
19+
20+- [ ] Obtain written IDFM clarification for the contradictory next-departures license labels and for the generated catalog's derivative-database obligations. See [research gaps](RELEASE_REQUIREMENTS_RESEARCH.md#gaps-that-need-direct-confirmation).
21+- [ ] Update the bilingual data notice only after that clarification. Name and link every source and applicable license, include the source update date, and do not imply IDFM endorsement.
22+- [ ] Check the authenticated Rebble Developer Portal for currently enforced dimensions, formats, file-size limits, description limits, localization support, and review behavior.
23+- [ ] Prepare the required portal material: category, description, release notes, banner, large icon, small icon, and at least one unframed screenshot for each of `emery` and `gabbro`. The project additionally requires French and English captures.
24+- [ ] Verify that the portal accepts the single `1.0.0` PBW with both target platforms. Do not make the listing public during this check.
25+- [ ] Run the clean-install, six-favorite, edit, disconnect/recovery, key replace/revoke/remove, all-mode, and traffic journeys against production on both emulators and a Pebble Time 2.
26+- [ ] Run the frozen 24-hour physical A/B battery scenario on the release build with Pebble firmware 4.32 or newer.
27+- [ ] Attach the inherited issue #8 evidence and new production/physical evidence to issue #9, preserving its stated coverage limits.
28+- [ ] Scan the repository, PBW, static output, captured HTTP exchanges, screenshots, logs, metrics, traces, and submission material for credentials and `apikey` values.
29+
30+## Deployment and rollback rehearsal
31+
32+1. Merge the reviewed release branch without tagging it.
33+2. Run **Deploy configuration site to Bunny** manually with `refresh_catalog=true`.
34+3. Save the workflow run ID, catalog revision, source revision, file count, and verification result as issue #9 evidence.
35+4. Run **Roll back Bunny configuration site** with that deployment run ID. It restores and byte-verifies the retained pre-deployment mutable files; the prior manifest points back to the already verified immutable catalog revision.
36+5. Run **Deploy configuration site to Bunny** again with `refresh_catalog=true`, save its verification result, and re-run the production configuration journey.
37+
38+The workflow also restores its pre-deployment mutable files automatically on a failed deployment. Immutable catalog revisions remain available so an already-open settings page does not lose its pinned data.
39+
40+## Publication gate
41+
42+Creating and pushing `v1.0.0` deploys the static site, builds the PBW, and creates the public GitHub release. Submitting through the Rebble Developer Portal is a separate public action.
43+
44+Do neither until:
45+
46+- every blocking item above has durable evidence;
47+- issue #9 contains links to the evidence and release material;
48+- the repository owner explicitly approves both the `v1.0.0` tag and the Rebble publication.
new file mode 100644
@@ -0,0 +1,48 @@
1+# Lapin Futé 1.0.0 release checklist
2+
3+This checklist tracks GitHub issue [#9](https://github.com/Anthodev/lapin-fute/issues/9). A checked item must point to durable evidence. Emulator or fixture evidence must not be presented as physical-device or production proof.
4+
5+## Prepared in the release branch
6+
7+- [x] Set every package and the configuration page to version `1.0.0`.
8+- [x] Select `https://lapin-fute.b-cdn.net/` as the stable, static HTTPS configuration-site origin.
9+- [x] Build release PBWs with that exact origin and reject release tags that differ from the watch package version.
10+- [x] Package one PBW containing both `emery` and `gabbro`, plus `SHA256SUMS`, as GitHub release assets.
11+- [x] Refresh a real IDFM catalog for production releases; no fixture fallback is available.
12+- [x] Upload immutable catalog files before the manifest pointer.
13+- [x] Compare every built file with its served bytes and validate every current-revision catalog JSON against the manifest schema and revision.
14+- [x] Back up mutable hosted files before deployment and restore them automatically when upload, purge, or served-site verification fails.
15+- [x] Retain each pre-deployment rollback bundle for 30 days and provide a serialized manual rollback workflow.
16+- [x] Record current publication and license research in [`RELEASE_REQUIREMENTS_RESEARCH.md`](RELEASE_REQUIREMENTS_RESEARCH.md).
17+
18+## Blocking evidence before publication
19+
20+- [ ] Obtain written IDFM clarification for the contradictory next-departures license labels and for the generated catalog's derivative-database obligations. See [research gaps](RELEASE_REQUIREMENTS_RESEARCH.md#gaps-that-need-direct-confirmation).
21+- [ ] Update the bilingual data notice only after that clarification. Name and link every source and applicable license, include the source update date, and do not imply IDFM endorsement.
22+- [ ] Check the authenticated Rebble Developer Portal for currently enforced dimensions, formats, file-size limits, description limits, localization support, and review behavior.
23+- [ ] Prepare the required portal material: category, description, release notes, banner, large icon, small icon, and at least one unframed screenshot for each of `emery` and `gabbro`. The project additionally requires French and English captures.
24+- [ ] Verify that the portal accepts the single `1.0.0` PBW with both target platforms. Do not make the listing public during this check.
25+- [ ] Run the clean-install, six-favorite, edit, disconnect/recovery, key replace/revoke/remove, all-mode, and traffic journeys against production on both emulators and a Pebble Time 2.
26+- [ ] Run the frozen 24-hour physical A/B battery scenario on the release build with Pebble firmware 4.32 or newer.
27+- [ ] Attach the inherited issue #8 evidence and new production/physical evidence to issue #9, preserving its stated coverage limits.
28+- [ ] Scan the repository, PBW, static output, captured HTTP exchanges, screenshots, logs, metrics, traces, and submission material for credentials and `apikey` values.
29+
30+## Deployment and rollback rehearsal
31+
32+1. Merge the reviewed release branch without tagging it.
33+2. Run **Deploy configuration site to Bunny** manually with `refresh_catalog=true`.
34+3. Save the workflow run ID, catalog revision, source revision, file count, and verification result as issue #9 evidence.
35+4. Run **Roll back Bunny configuration site** with that deployment run ID. It restores and byte-verifies the retained pre-deployment mutable files; the prior manifest points back to the already verified immutable catalog revision.
36+5. Run **Deploy configuration site to Bunny** again with `refresh_catalog=true`, save its verification result, and re-run the production configuration journey.
37+
38+The workflow also restores its pre-deployment mutable files automatically on a failed deployment. Immutable catalog revisions remain available so an already-open settings page does not lose its pinned data.
39+
40+## Publication gate
41+
42+Creating and pushing `v1.0.0` deploys the static site, builds the PBW, and creates the public GitHub release. Submitting through the Rebble Developer Portal is a separate public action.
43+
44+Do neither until:
45+
46+- every blocking item above has durable evidence;
47+- issue #9 contains links to the evidence and release material;
48+- the repository owner explicitly approves both the `v1.0.0` tag and the Rebble publication.