-
Go to the project's GitHub repository and click on the Actions tab
-
From the "Workflows" list on the left, click on "CI/CD Pipeline"
-
On the right, next to the "This workflow has a workflow_dispatch event trigger" label, click on the "Run workflow" dropdown, make sure the default branch is selected (if not manually changed, should be main or master) in the "Use workflow from" dropdown and click the "Run workflow" button
NOTE: screenshots are only exemplary
To setup the automated publishing to NuGet:
-
Go to the repo Settings tab -> Secrets
-
Add a secret with the name
NUGET_API_KEYand as value use an API key from NuGet.org that is assigned to the packages for this project
NOTE: the automated NuGet publishing is execute only when a release is triggered by the "Automated versioning" feature
Automatically bumps up the GitHub tag in the repo and executes the CD job
Note: not every commit to your default branch creates a release
Follow these instructions for any commit (push or PR merge) to your default branch, you would like to execute the automated versioning.
You would need one of three keywords at the start of your commit title. Each of the three keywords corresponds to a number in your release version i.e. v1.2.3. The release versioning uses the "Conventional Commits" specification:
- "fix: ..." - this keyword corresponds to the last number v1.2.3, also known as PATCH;
- "feat: ..." - this keyword corresponds to the middle number v1.2.3, also known as MINOR;
- "perf: ..." - this keyword corresponds to the first number v1.2.3, also known as MAJOR. In addition, to trigger a MAJOR release, you would need to write "BREAKING CHANGE: ..." in the description of the commit, with an empty line above it to indicate it is in the portion of the description;
Note: when making a MAJOR release by committing through a terminal, use the multiple line syntax to add the commit title on one line and then adding an empty line, and then adding the "BREAKING CHANGE: " label
Example(fix/PATCH):
git commit -a -m "fix: this is a PATCH release triggering commit"
git push origin vnext
Result: v1.2.3 -> v1.2.4
Example(feat/MINOR):
git commit -a -m "feat: this is a MINOR release triggering commit"
git push origin vnext
Result: v1.2.3 -> v1.3.0
Example(perf/MAJOR):
git commit -a -m "perf: this is a MAJOR release triggering commit `
>>
>> BREAKING CHANGE: this is the breaking change"
git push origin vnext
Result: v1.2.3 -> v2.0.0
Note: in the MAJOR release example, the PowerShell multiline syntax ` (backtick) is used. After writing a backtick, a press of the Enter key should open a new line.
Built with ❤ by Pipeline Foundation
