This document will cover how to properly release Vector.
Vector adheres to Semantic Versioning and the release process is dependent on the version change.
- Create a new branch from the latest
vMAJOR.MINOR.PATCH
tag. Ex:git checkout -b v1.2.3 v1.2.2
- Make the appropriate changes/fixes.
- Update the
version
key in/Cargo.toml
and runcargo build
to get the version bump in theCargo.lock
file. - Update the
/CHANGELOG.md
header to reflect the new versionvMAJOR.MINOR.PATCH - 2019-05-02
- Commit the changes above with message "Release vMAJOR.MINOR.PATCH"
- Create a new tag named
vMAJOR.MINOR.PATCH
- Push the new tag
- Delete the temporary branch you created.
- All done
- Switch to the
master
branch, this should be reflective of the new version's changes. - Update the
version
key in/Cargo.toml
and runcargo build
to get the version bump in theCargo.lock
file. - Update the
/CHANGELOG.md
header to reflect the new versionvMAJOR.MINOR.0 - 2019-05-02
- Commit the changes above with message
"Release vMAJOR.MINOR.PATCH"
- Create a new tag named
vMAJOR.MINOR.PATCH
- Push the new tag.
- Update the
/CHANGELOG.md
header to reflect the new upcoming versionvNEW_MAJOR.NEW_MINOR-dev
- Commit the changes above with message
"Start vNEW_MAJOR.NEW_MINOR+1"
- All done
If you tried to cut a release and the CI failed for some unexpected reason, you can follow these steps to recover:
- Switch to the
v$VERSION
branch. - Delete the
v$VERSION
tag. - Cherry pick the commits directly to the branch.
- Run
make release
while still on that branch. - Commit and tag accordingly.
- Cherry pick that commit back to master so that the release is carried over.
We use self-hosted runners for Windows builds. You can see our self-hosted runners here.
The current Windows runner is an Amazon EC2 instance running Windows 2019. To prep the install, use RDP to connect and then:
- Install Chocolatey.
- Install openssl, Perl, and make. (
choco install openssl strawberryperl make
). - Install Visual Studio 2019. Ensure you select C++ for Linux as an optional feature.