Milestone MIL-010, story US-001.08, BC-001 and PP-001 amended (the release of the executable is in scope), CHANGELOG.md for 0.1.0, and links to the release page in README and the Install page of the wiki. Review records RC-051 to RC-054, all Go (autonomous mode, not independent). Task: MIL-010#1 Task: MIL-010#2
79 lines
4.6 KiB
Markdown
79 lines
4.6 KiB
Markdown
# MIL-010: Release v0.1.0
|
|
|
|
## Metadata
|
|
| Key | Value |
|
|
| --- | --- |
|
|
| ID | MIL-010 |
|
|
| CrossReference | [BC-001], [US-001], [UC-001], [ADR-0004] |
|
|
| Language | en |
|
|
| Domain | it |
|
|
|
|
## Version History
|
|
| Date | Status | Author | Reviewer | Change | Commit |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| 2026-10-15 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | pending |
|
|
|
|
---
|
|
|
|
## Purpose
|
|
|
|
Decide whether the project can be handed out as a release: the version 0.1.0 is tagged, and the executable built from exactly that commit is attached to a release page with its checksum and release notes.
|
|
|
|
## Deliverable
|
|
|
|
A tag `v0.1.0` on the head of `main`, and a release on the git host with the assets `flash-card.exe` and `flash-card.exe.sha256`, and release notes. `CHANGELOG.md` holds the same notes. The README and the wiki (English, Danish, Bahasa Malaysia) link to the release page.
|
|
|
|
## Go / No-Go Criteria
|
|
|
|
| # | Criterion (objectively checkable) | Go | No-Go |
|
|
| --- | --- | --- | --- |
|
|
| 1 | The executable is rebuilt from the head of `main` that gets the tag, in a clean build folder, and passes the smoke test of MIL-009 (window, embedded list, progress file beside it, list override) | Smoke test output recorded in the review record | A failing case |
|
|
| 2 | The tag `v0.1.0` is an annotated tag on that commit and `pyproject.toml` and `flash_card.__version__` say `0.1.0` | `git show v0.1.0` and the two files agree | A different version or commit |
|
|
| 3 | The release has the assets `flash-card.exe` and `flash-card.exe.sha256` | Listed by the host API | An asset is missing |
|
|
| 4 | The SHA-256 of the file downloaded from the release equals the value in `flash-card.exe.sha256` and in the release notes | Hash compared after a download | A difference |
|
|
| 5 | The release notes say that the file is an unsigned Windows build, what the `data` folder next to it holds, the SHA-256, and how to build it | Notes read back from the API | A statement is missing |
|
|
| 6 | `CHANGELOG.md`, README and the Install page of the wiki in three languages link the release; `check-readme.sh` exit 0 | Exit code 0 | A link is missing |
|
|
| 7 | BC-001, US-001 and PP-001 are updated (the release upload leaves Out of Scope) and reviewed `Go` | Review records `Go` | A document is not updated |
|
|
|
|
## Dependencies
|
|
|
|
| Depends on | Reason |
|
|
| --- | --- |
|
|
| MIL-009 | The executable and its build script |
|
|
|
|
## Traceability
|
|
|
|
| Business Case objective / KPI / user story | Reference |
|
|
| --- | --- |
|
|
| Objective 4 (a repository others can use), extended by the new request of S01 | [BC-001] |
|
|
| US-001.08 Download the executable | [US-001] |
|
|
|
|
## Ownership
|
|
|
|
| Role | Stakeholder ID (SA) |
|
|
| --- | --- |
|
|
| Owner | S01 |
|
|
| Approving reviewer | S01 (AI as stand-in in autonomous mode) |
|
|
|
|
## Target Date
|
|
|
|
2026-10-16 — within the delivery window that ends 2026-10-21 ([BC-001] constraint).
|
|
|
|
## Tasks
|
|
|
|
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
|
| --- | --- | --- | --- | --- |
|
|
| 1 | Update the documents for the release | Amend BC-001 (the upload of the executable to a release leaves Out of Scope and the release becomes In Scope; signing and an installer stay out), add US-001.08 and the gateway to PP-001; each changed document gets a Version History row and a review. | No | BC-001, US-001 |
|
|
| 2 | Write the release notes and CHANGELOG.md | `CHANGELOG.md` (Keep a Changelog layout) with the version 0.1.0: what the program does, the four assignment steps, the level choice, the executable, known limits (unsigned, Windows only, Python 3.13 or later to build); the notes are reused for the release body. | No | |
|
|
| 3 | Rebuild and smoke-test the executable from the tagged commit | Build `dist/flash-card.exe` from a clean tree of the head of `main`, run the smoke test of MIL-009, compute the SHA-256 and write `flash-card.exe.sha256` (not committed). | Yes | US-001.08 |
|
|
| 4 | Tag v0.1.0 | Create an annotated tag `v0.1.0` on the head of `main` and push it; a tag cannot be undone without deleting it on the host, so it is made only after the documents are merged. | No | |
|
|
| 5 | Create the release and attach the files | Create the release `v0.1.0` through the host API with the notes, attach `flash-card.exe` and `flash-card.exe.sha256`, download the asset again and compare the hash. The token is read from `.env` and is never printed or put on a command line. | Yes | US-001.08 |
|
|
| 6 | Link the release | README, the Install page of the wiki in English, Danish and Bahasa Malaysia and `CHANGELOG.md` link the release page; the wiki is republished. | No | |
|
|
|
|
---
|
|
|
|
[BC-001]: ../business-case.md
|
|
[US-001]: ../user-stories.md
|
|
[UC-001]: ../uc-001/uc.md
|
|
[ADR-0004]: ../adr/adr-0004-pyinstaller-executable.md
|