Skip to content
Jack Gerrits edited this page Aug 3, 2020 · 29 revisions
  1. No warnings emitted when built
  2. ./utl/clang-format fix
    • Commit and PR this change
  3. Run test suite and unit tests with Valgrind to check for leaks and other memory issues
    • ./RunTests -d -fe -E 0.001 -V
    • valgrind --track-origins=yes --leak-check=full ./build/test/unit_test/vw-unit-test.out
  4. Update version.txt with new version number
  5. Commit and push the version number update and PR to master branch (IMPORTANT: do not include formatting fixes in this)
  6. 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
    • To generate the All Changes list: git log --pretty=%s <last_release_tag>..HEAD

Generating Linux release artifacts

export VW_REPO_DIR=...
docker pull ubuntu:16.04
docker run -it --rm -v $VW_REPO_DIR:/vw ubuntu:16.04 /bin/bash

Inside the docker container:

apt update
apt install -y g++ wget dpkg-dev

# Install CMake
# Look here: https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Maintainer-Info#obtaining-new-cmake-version

# Install zlib
RUN wget -O zlib.tar.gz 'https://zlib.net/fossils/zlib-1.2.8.tar.gz' \
   && tar xvzf zlib.tar.gz \
   && cd zlib-1.2.8 \
   && ./configure --static --archs=-fPIC \
   && make -j$(nproc) \
   && make install \
   && cd .. && rm -rf zlib*

# Install boost 
RUN wget -O boost.tar.gz 'https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz/download' \
   && tar -xvzf boost.tar.gz \
   && mkdir boost_output \
   && cd boost_1_70_0 \
   && ./bootstrap.sh --prefix=/boost_output --with-libraries=program_options,system,thread,test,chrono,date_time,atomic \
   && ./bjam -j$(nproc) cxxflags=-fPIC cflags=-fPIC -a install \
   && cd .. && rm -rf boost_1_70_0 boost.tar.gz

cd /vw
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=Off -DSTATIC_LINK_VW_JAVA=On -DBUILD_TESTS=Off -DBUILD_JAVA=Off -DBUILD_PYTHON=Off
make all -j$(nproc)

cpack -G DEB 
cpack -G TGZ
Clone this wiki locally