📌 Aligns versioning to GitHubFlow

This commit is contained in:
akritikos committed 2026-08-27 19:12:47 +03:00
1 parent 406af21694
commit be09aef8a3
3 files changed
+8 -17

No files matched your search

+4 -5
View File
@@ -12,12 +12,11 @@ Versioning is **GitVersion-driven** (`GitVersion.yml`). Do not hand-pick version
| Branch | Label | Resulting version | | Branch | Label | Resulting version |
| --- | --- | --- | | --- | --- | --- |
| `main` | — | `MAJOR.MINOR.PATCH` (stable) | | `main` | — | `MAJOR.MINOR.PATCH` (stable, held until the next tag) |
| `develop` / `dev` / `development` | `beta` | `MAJOR.MINOR.PATCH-beta.N` | | `feature/*`, `hotfix/*` | branch name | `…-<branch>.N` |
| `release/*`, `hotfix/*`, `feature/*` | branch name | `…-<branch>.N` |
- Tags use the prefix `v` (regex `[vV]?` also accepts `V` or none). - 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. - Increments are suppressed for already-merged branches and already-tagged commits.
## Procedure ## Procedure
@@ -29,7 +28,7 @@ Versioning is **GitVersion-driven** (`GitVersion.yml`). Do not hand-pick version
5. **Publish** packages to the configured feed. 5. **Publish** packages to the configured feed.
6. **Create the GitHub release** linked to the tag, using the generated changelog as notes. 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 ## Guardrails
+1 -1
View File
@@ -1157,7 +1157,7 @@ artifacts/**
## Machine-specific overrides ## Machine-specific overrides
compose.override.yaml 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 src/*/GitVersion.yml
## Copilot agent scratch/research notes (ephemeral, not project documentation) ## Copilot agent scratch/research notes (ephemeral, not project documentation)
+3 -11
View File
@@ -5,21 +5,13 @@ ignore:
paths: paths:
- ^(?!src\/|Directory\.Packages\.props|GitVersion.yml).* - ^(?!src\/|Directory\.Packages\.props|GitVersion.yml).*
branches: branches:
develop: main:
label: 'beta' mode: ContinuousDeployment
regex: '^(dev|develop|development)$'
source-branches:
- main
feature: feature:
mode: ContinuousDelivery mode: ContinuousDelivery
regex: ^(features?|hotfix(es)?)[\/-](?<BranchName>.+)
source-branches: source-branches:
- develop
- main - main
hotfix:
regex: ^hotfix?[\/-](?<BranchName>.+)
mode: ContinuousDelivery
release:
mode: ContinuousDelivery
prevent-increment: prevent-increment:
of-merged-branch: true of-merged-branch: true