Skip to content
Jacob Alber edited this page Sep 15, 2022 · 29 revisions

Requirements

  1. No warnings emitted when built
  2. Consistent formatting - Enforced by CI
  3. No valgrind errors - Enforced by CI

Process

  1. Update version.txt with new version number (Check for any other places in the repo that may reference the version number)
  2. Commit and push the version number update and PR to master branch
  3. Use GitHub UI to draft a new release
    • Input the version number in version.txt into the Tag version field
    • Doing it this way ensures there is a single linear history of releases

Generating changelist

  1. Install tool:
pip install git+https://github.com/jackgerrits/git-changelog-generator.git
  1. Run tool:
NEW_VERSION=8.10.0
PREV_VERSION=8.9.0
GIT_REV_RANGE=${PREV_VERSION}..HEAD
VW_REPO_DIR=/path/to/vowpal_wabbit/
VW_PR_URL="https://github.com/VowpalWabbit/vowpal_wabbit/pull/"

git-changelog-generator \
    --file utl/release_blog_post_template.md \
    --range ${GIT_REV_RANGE} \ 
    --dir ${VW_REPO_DIR} \
    --additional_data github_pr_url=${VW_PR_URL} \
    --additional_data version=${NEW_VERSION} > blog_post_start.md

Python

See here

Homebrew

Run:

brew bump-formula-pr vowpal-wabbit --version=<version i.e. 9.0.1>

See sample PR https://github.com/Homebrew/homebrew-core/pull/81257

Java

See here

C#

1. Trigger a build on the "Windows Official" pipeline against the release tag

2. Trigger a release on the Windows-Official-NuGet-Public release pipeline (it should automatically pick up the latest generated artifact from the build pipeline in (1))

Currently manual process to upload artifacts generated by the dotnet_nugets.yml GH Action

Docker image

https://github.com/vowpalwabbit/docker-images#release-steps

Clone this wiki locally