GitVersion.yml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # This file is used to configure GitVersion to work with the GitFlow branching strategy.
  2. #
  3. # Terminal.Gui uses the GitFlow branching strategy.
  4. # https://gitversion.net/docs/learn/branching-strategies/gitflow/
  5. #
  6. # - We have two main branches: `v2_release` and `v2_develop`.
  7. # - `v2_release` is the main branch for V2 releases and always matches the latest release package on Nuget (e.g. 2.0.0);
  8. # prior to release it is a pre-release package (e.g. 2.0.0-prealpha.1).
  9. # - `v2_develop` is the main branch for V2 development and is always a pre-release package (e.g. 2.0.0-develop.1).
  10. # - We do all development work on feature branches off of `v2_develop`.
  11. # - When we deem it time to do a release, we merge the feature branches into `v2_develop` and then `v2_develop` into `v2_release`.
  12. # - The ./.github/workflows/publish.yml file is configured to build and publish on pushes to `v2_develop` and `v2_release`.
  13. #
  14. # We currently use GitVersion 5.1
  15. #
  16. # Branches:
  17. # - v1_release: This is `main` branch for V1
  18. # - v1_develop: This is `develop` branch for V1
  19. # - v2_release: This is `main` branch for V2
  20. # - v2_develop: This is `develop` branch for V2
  21. #
  22. # Package Naming:
  23. # - from v2_develop: v2.0.0-develop.1
  24. # - from v2_release: Prior to Release: v2.0.0-beta.1 or v2.0.0-alpha.1 or v2.0.0-prealpha.1
  25. # - from v2_release: Release: v2.0.0
  26. #
  27. # We prefix our tags with a 'v' or 'V' (e.g. v1.0.0)
  28. tag-prefix: '[vV]'
  29. # This is legacy from v1 and probably can be removed - see tag: develop below
  30. continuous-delivery-fallback-tag: dev
  31. branches:
  32. # V2 Branches
  33. develop:
  34. # We don't really use ContinuousDeployment, but ContinuousDelivery - I don't remember why we have this here but it works.
  35. mode: ContinuousDeployment
  36. tag: develop
  37. regex: v2_develop
  38. tracks-release-branches: true
  39. is-source-branch-for: ['main']
  40. source-branches: []
  41. main:
  42. # We don't really use ContinuousDeployment, but ContinuousDelivery - I don't remember why we have this here but it works.
  43. mode: ContinuousDeployment
  44. # For V2 releases, prior to Alpha we use prealpha.
  45. tag: prealpha
  46. regex: v2_release
  47. is-release-branch: true
  48. # This tells GitVersion that the main (branch is the source branch for the develop branch.
  49. source-branches: ['develop']
  50. # V1 Branches - These are really just here for reference.
  51. v1_develop:
  52. mode: ContinuousDeployment
  53. tag: v1_develop
  54. regex: v1_develop
  55. source-branches:
  56. - v1_release
  57. pre-release-weight: 100
  58. v1_release:
  59. mode: ContinuousDeployment
  60. regex: v1_release
  61. is-release-branch: true
  62. source-branches: ['v1_develop']
  63. # Pull Request Branches
  64. # I don't fully understand this, but it seems to work
  65. pull-request:
  66. mode: ContinuousDeployment
  67. tag: PullRequest.{BranchName}
  68. increment: Inherit
  69. tag-number-pattern: '[/-](?<number>\d+)'
  70. regex: ^(pull|pull\-requests|pr)[/-]
  71. source-branches:
  72. - develop
  73. - main
  74. - feature
  75. - support
  76. - hotfix
  77. pre-release-weight: 30000
  78. # I don't remember why we have this here but it works.
  79. ignore:
  80. sha: []