You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/guides/versioning-and-releases.md
+13-6Lines changed: 13 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
---
2
2
title: Versioning and releases
3
-
description: How Process-PSModule resolves a version from pull-request labels, what a release produces, and how prereleases are published and cleaned up.
3
+
description: How Process-PSModule resolves a version from pull-request labels, publishes stable releases from default-branch pushes, and cleans up prereleases.
4
4
---
5
5
6
6
# Versioning and releases
7
7
8
8
Process-PSModule orchestrates the module lifecycle through GitHub Actions. Version progression is label-driven in pull
9
-
requests and resolved once, in the Plan stage, before anything is built.
9
+
requests and resolved once, in the Plan stage, before anything is built. Stable publication occurs only from a push to
10
+
the configured default branch.
10
11
11
12
## Flow
12
13
@@ -18,6 +19,10 @@ requests and resolved once, in the Plan stage, before anything is built.
18
19
19
20
Test and lint stages run before the publish gates, and publish is blocked when required checks fail.
20
21
22
+
An open labelled pull request can publish a prerelease. A closed pull request only cleans up its prereleases. When a
23
+
pull request merges, the resulting push to the default branch resolves that pull request's labels and creates the
24
+
stable release from the exact pushed commit.
25
+
21
26
## Version labels
22
27
23
28
The bump comes from the pull-request label; the next version is computed as `current version + bump`.
@@ -26,18 +31,20 @@ The bump comes from the pull-request label; the next version is computed as `cur
Copy file name to clipboardExpand all lines: docs/content/specification/spec.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ description: Requirements for Process-PSModule — an end-to-end PowerShell modu
7
7
8
8
## Premise
9
9
10
-
A PowerShell module's lifecycle — from source code to versioned, published artifact — MUST be reliable, repeatable, and as automated as possible. Contributors focus on code and tests; the pipeline focuses on build, test, quality, documentation, and release. The pipeline MUST be driven entirely by pull-request labels and merge events, never by manual intervention or external tooling. The result is a versioned, immutable artifact — a module package in the PowerShell Gallery and its documentation site — paired with a GitHub Release and a git tag.
10
+
A PowerShell module's lifecycle — from source code to versioned, published artifact — MUST be reliable, repeatable, and as automated as possible. Contributors focus on code and tests; the pipeline focuses on build, test, quality, documentation, and release. The pipeline MUST use GitHub pull-request labels and default-branch pushes for release decisions, with direct pushes and workflow dispatch as supported GitHub-native release paths. The result is a versioned, immutable artifact — a module package in the PowerShell Gallery and its documentation site — paired with a GitHub Release and a git tag.
11
11
12
12
### Principles
13
13
@@ -43,7 +43,7 @@ The pipeline MUST generate module documentation from the source (cmdlet help, RE
43
43
44
44
### FR5 — Support label-driven versioning and publication { #fr5 }
45
45
46
-
The pipeline MUST read pull-request labels (`Major`, `Minor`, `Patch`, `Prerelease`, `NoRelease`) to decide the semantic-version bump. It MUST compute the next version automatically, never reading or writing a hand-edited version file. A merge to the release branch MUST trigger publication to the PowerShell Gallery and documentation site; a prerelease label MUST result in a prerelease version available for testing before stable release.
46
+
The pipeline MUST read pull-request labels (`Major`, `Minor`, `Patch`, `Prerelease`, `NoRelease`) to decide the semantic-version bump. It MUST compute the next version automatically, never reading or writing a hand-edited version file. A push to the release branch MUST trigger publication to the PowerShell Gallery and documentation site; a prerelease label MUST result in a prerelease version available for testing before stable release.
47
47
48
48
### FR6 — Produce immutable, linkable releases { #fr6 }
0 commit comments