Template
📌 Aligns versioning to GitHubFlow
This commit is contained in:
3 files changed
+10
-19
No files matched your search
@@ -12,12 +12,11 @@ Versioning is **GitVersion-driven** (`GitVersion.yml`). Do not hand-pick version
|
||||
|
||||
| Branch | Label | Resulting version |
|
||||
| --- | --- | --- |
|
||||
| `main` | — | `MAJOR.MINOR.PATCH` (stable) |
|
||||
| `develop` / `dev` / `development` | `beta` | `MAJOR.MINOR.PATCH-beta.N` |
|
||||
| `release/*`, `hotfix/*`, `feature/*` | branch name | `…-<branch>.N` |
|
||||
| `main` | — | `MAJOR.MINOR.PATCH` (stable, held until the next tag) |
|
||||
| `feature/*`, `hotfix/*` | branch name | `…-<branch>.N` |
|
||||
|
||||
- Tags use the prefix `v` (regex `[vV]?` also accepts `V` or none).
|
||||
- Each `src/*` project is versioned **independently**: only changes under that project's own directory, `Directory.Packages.props`, or `GitVersion.yml` increment its version (see `GenerateProjectGitVersionConfig` in `src/Directory.Build.props` and `GitVersion.template.yml`). A change to one library does not bump a sibling's version.
|
||||
- Each `src/*` project is versioned **independently**: only changes under that project's own directory, `Directory.Packages.props`, or `GitVersion.yml` increment its version (see `GenerateProjectGitVersionConfig` in `src/Directory.Build.props`, which renders the root `GitVersion.yml` into a per-project copy). A change to one library does not bump a sibling's version.
|
||||
- Increments are suppressed for already-merged branches and already-tagged commits.
|
||||
|
||||
## Procedure
|
||||
@@ -29,7 +28,7 @@ Versioning is **GitVersion-driven** (`GitVersion.yml`). Do not hand-pick version
|
||||
5. **Publish** packages to the configured feed.
|
||||
6. **Create the GitHub release** linked to the tag, using the generated changelog as notes.
|
||||
|
||||
For hotfixes: branch from the latest stable tag (`git switch -c hotfix/<name> v<latest-stable>`), follow the procedure, then back-merge into `main` and `develop`.
|
||||
For hotfixes: branch from the latest stable tag (`git switch -c hotfix/<name> v<latest-stable>`), follow the procedure, then merge back into `main`. There is no `develop` branch to reconcile with — this repo is trunk-based.
|
||||
|
||||
## Guardrails
|
||||
|
||||
|
||||
+1
-1
@@ -1157,7 +1157,7 @@ artifacts/**
|
||||
## Machine-specific overrides
|
||||
compose.override.yaml
|
||||
|
||||
## Generated per-project GitVersion config (rendered from GitVersion.template.yml)
|
||||
## Generated per-project GitVersion config (rendered from the root GitVersion.yml)
|
||||
src/*/GitVersion.yml
|
||||
|
||||
## Copilot agent scratch/research notes (ephemeral, not project documentation)
|
||||
|
||||
+5
-13
@@ -3,23 +3,15 @@ mode: ContinuousDelivery
|
||||
tag-prefix: '[vV]?'
|
||||
ignore:
|
||||
paths:
|
||||
- ^(?!src\/|Directory\.Packages\.props|GitVersion.yml).*
|
||||
- ^(?!src\/|Directory\.Packages\.props|GitVersion.yml).*
|
||||
branches:
|
||||
develop:
|
||||
label: 'beta'
|
||||
regex: '^(dev|develop|development)$'
|
||||
source-branches:
|
||||
- main
|
||||
main:
|
||||
mode: ContinuousDeployment
|
||||
feature:
|
||||
mode: ContinuousDelivery
|
||||
regex: ^(features?|hotfix(es)?)[\/-](?<BranchName>.+)
|
||||
source-branches:
|
||||
- develop
|
||||
- main
|
||||
hotfix:
|
||||
regex: ^hotfix?[\/-](?<BranchName>.+)
|
||||
mode: ContinuousDelivery
|
||||
release:
|
||||
mode: ContinuousDelivery
|
||||
- main
|
||||
|
||||
prevent-increment:
|
||||
of-merged-branch: true
|
||||
|
||||
Reference in new issue
Block a user