-
We develop an internal desktop app for a company. We (roughly) use GitHubFlow. Developer creates a feature branch, merges back to main. When several features are ready to be released on a QA build, developer creates a tag based on main: i.e. When a QA build is ready to be promoted to UAT a UAT tag is created based on the QA tag: Promoting a UAT build to prod is same as preceding. Manually creating a tag for either QA or UAT is what kicks off the build. Can we use gitversion for this work flow? We can change whatever needs to change to maximize the utility of gitversion. With that said the concept of promoting a build is integral to our workflow. Only must-have is that we stamp assemblies with a tag that allows us to find the tag it was built from (-alpha = QA, -beta = UAT). Feature branches are the only branches we create. Everything else is tags. I noticed |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
If I understand you correct you would like to have a different pre-release label dependent on the tag: [Test]
public void Just_A_Test()
{
var configuration = GitHubFlowConfigurationBuilder.New
.WithBranch("main", branchBuilder => branchBuilder
.WithIncrement(IncrementStrategy.Minor)
).Build();
using var fixture = new EmptyRepositoryFixture("main");
fixture.Repository.MakeACommit();
fixture.AssertFullSemver("0.1.0+1", configuration);
fixture.Repository.ApplyTag("0.1.0-alpha.1");
fixture.AssertFullSemver("0.1.0+1", configuration);
fixture.Repository.MakeACommit();
fixture.AssertFullSemver("0.1.0+2", configuration);
fixture.Repository.ApplyTag("0.1.0-alpha.2");
fixture.AssertFullSemver("0.1.0+2", configuration);
fixture.Repository.ApplyTag("0.1.0-beta.1");
fixture.AssertFullSemver("0.1.0+2", configuration);
fixture.Repository.ApplyTag("0.1.0");
fixture.AssertFullSemver("0.1.0", configuration);
fixture.Repository.MakeACommit();
fixture.AssertFullSemver("0.2.0+1", configuration);
} |
Beta Was this translation helpful? Give feedback.
If I understand you correct you would like to have a different pre-release label dependent on the tag: