From 7c0732f0c37d446dfa71d675a49eaf331b470d1f Mon Sep 17 00:00:00 2001 From: PPawlowski Date: Tue, 21 Jul 2026 10:01:08 +0200 Subject: [PATCH 1/4] Describe how we manage GitHub milestones --- .../engineering/project-management.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/nuxt/content/handbook/engineering/project-management.md b/nuxt/content/handbook/engineering/project-management.md index 2834f87bf8..fc2adb74cf 100644 --- a/nuxt/content/handbook/engineering/project-management.md +++ b/nuxt/content/handbook/engineering/project-management.md @@ -108,6 +108,38 @@ We review: The project board is updated to reflect reality. This is about accuracy and learning, not blame. +## Milestones + +We use milestones to group work into larger releases. Milestone number corresponds to the FlowFuse release number. + +### Creating Milestones + +To maintain consistency between repositories, milestones are created with the `generate-milestone` script from the `flowfuse/admin` repository. + +To create a new milestone: + +* Modify the `MILESTONES` array in the `generate-milestone` script to include the new milestone number +** The array contains milestone number and the release date in the format `(" ")` +* Remove milestones from the array that are already closed or shipped +* Run the `generate-milestone` script + +```bash +./generate-milestone +``` + +### Closing Milestones + +When a milestone is shipped, it should be closed in all repositories. This is done with the `Close Milestones` GitHub Action in the `flowfuse/admin` repository. + +A milestone will be closed only if all of its issues, across all repositories, are closed. If there are open issues in any repository linked to the milestone, it will remain open. + +The `Close Milestones` GitHub Action is triggered manually. To close a milestones: + +* Open the [`Close Milestones`](https://github.com/FlowFuse/admin/actions/workflows/close-milestones.yml) workflow in the `flowfuse/admin` repository +* Click the `Run workflow` button +* Deselect the `Run in dry-run mode` checkbox +* Press the `Run workflow` button + ## Development Board We use a GitHub Project board to make work visible and to reflect sprint reality. From 28d71b8d71e6e25db46d0de50e5de9ed2dee0815 Mon Sep 17 00:00:00 2001 From: Jamie Strusz <5758031+allthedoll@users.noreply.github.com> Date: Fri, 24 Jul 2026 09:49:10 -0500 Subject: [PATCH 2/4] Fix formatting in project management milestone instructions --- nuxt/content/handbook/engineering/project-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuxt/content/handbook/engineering/project-management.md b/nuxt/content/handbook/engineering/project-management.md index fc2adb74cf..8074768bdf 100644 --- a/nuxt/content/handbook/engineering/project-management.md +++ b/nuxt/content/handbook/engineering/project-management.md @@ -119,7 +119,7 @@ To maintain consistency between repositories, milestones are created with the `g To create a new milestone: * Modify the `MILESTONES` array in the `generate-milestone` script to include the new milestone number -** The array contains milestone number and the release date in the format `(" ")` +** The array contains a milestone number and the release date in the format `(" ")` * Remove milestones from the array that are already closed or shipped * Run the `generate-milestone` script From ef93a3762cbd4e073bf816e061880a192040078d Mon Sep 17 00:00:00 2001 From: Jamie Strusz <5758031+allthedoll@users.noreply.github.com> Date: Fri, 24 Jul 2026 09:49:54 -0500 Subject: [PATCH 3/4] Fix bulleted list --- nuxt/content/handbook/engineering/project-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuxt/content/handbook/engineering/project-management.md b/nuxt/content/handbook/engineering/project-management.md index 8074768bdf..ab2dc9edb6 100644 --- a/nuxt/content/handbook/engineering/project-management.md +++ b/nuxt/content/handbook/engineering/project-management.md @@ -119,7 +119,7 @@ To maintain consistency between repositories, milestones are created with the `g To create a new milestone: * Modify the `MILESTONES` array in the `generate-milestone` script to include the new milestone number -** The array contains a milestone number and the release date in the format `(" ")` +* The array contains a milestone number and the release date in the format `(" ")` * Remove milestones from the array that are already closed or shipped * Run the `generate-milestone` script From 1efcd14ca7975e6ba36e8eeabe8627a5a0325304 Mon Sep 17 00:00:00 2001 From: Jamie Strusz <5758031+allthedoll@users.noreply.github.com> Date: Fri, 24 Jul 2026 11:19:15 -0500 Subject: [PATCH 4/4] Fix grammarz --- nuxt/content/handbook/engineering/project-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuxt/content/handbook/engineering/project-management.md b/nuxt/content/handbook/engineering/project-management.md index ab2dc9edb6..65080f3146 100644 --- a/nuxt/content/handbook/engineering/project-management.md +++ b/nuxt/content/handbook/engineering/project-management.md @@ -110,7 +110,7 @@ The project board is updated to reflect reality. This is about accuracy and lear ## Milestones -We use milestones to group work into larger releases. Milestone number corresponds to the FlowFuse release number. +We use milestones to group work into larger releases. Milestone numbers correspond to the FlowFuse release number. ### Creating Milestones