Skip to content

Releases: Preparing

Glen Fernandes edited this page May 28, 2024 · 19 revisions

Build releases and upload to Artifactory

In release tools:

mkdir files-1.78.0
cd files-1.78.0
../release-tools/publish_release.py 1_78_0

(The directory is just for local organization, you can handle it differently)

[ Note: publish_release.py uses the JFrog command-line tool. You'll need to install it and configure it. See the text at the top of publish_release.py ]

The publish_release.py has options for other kinds of releases:

../release-tools/publish_release.py 1_78_0 -r 1        # --> 1_78_0_rc1 (release candidate 1)
../release-tools/publish_release.py 1_78_0 -b 23       # --> 1_78_0_b23 (beta 23)
../release-tools/publish_release.py 1_78_0 -b 23 -r 34 # --> 1_78_0_b23_rc34 (beta 23 candidate 34)

This script downloads the snapshots, creates the JSON artifacts, and uploads them to Artifactory.

Update server

Verify that the release notes are correct before proceeding with this step.

  • The [purpose] section should have the New Libraries and Updated Libraries specified.
  • The [section Compilers Tested] section should have the compiler versions listed.
  • Make sure that the list of updated libraries is correct.

ssh into server

cd boost-tasks
./release-from-artifactory 1.78.0
cd var/data/repos/website
git diff

[Note: As of today (8/2021) the only place a working set up of this exists is in '/home/mclow/boost-tasks3'. This needs to be fixed.]

release-from-artifactory should have installed the documentation for the website and updated the repo. Check git output, add new release notes if appropriate, commit and push - this will update the website.

If necessary, manually edit generated/state/release.txt in website repo to add link to windows binary download, and run site-tools/update-pages.php to regenerate pages with link. Look for record starting with something like (boost-1.66.0 beta1 or (boost-1.66.0, and to the end of the record:

-third_party.windows.title
"Windows Binaries
-third_party.windows.url
"https://dl.bintray.com/boostorg/beta/1.nn.n/binaries/

TODO: Very minor bug, when releasing a library, a historical entry is left for the beta, as it has a different value for boost-version. Works fine though.

For beta/full release - set as released on website

Don't do this for release candidates.

Tag the release in git. Make sure the correct versions of the super project and submodules are checked out:

git submodule update --init --recursive --checkout

Then do something like:

git tag boost-1.78.0
git submodule foreach 'git tag boost-1.78.0'
git push origin boost-1.78.0
git submodule foreach 'git push origin boost-1.78.0'

After checking that the documentation is on the website, run site-tools/set-release-status.php 1.78.0 [Is this still necessary?]

Updating the web site

The web site gets updated from the git repo at 1 minute past the hour every hour. If you have to do it manually, you can sudo /root/bin/updateBoost.sh > /tmp/updateBoost.log 2>&1.

Visit the boost website staging or production site, such as https://www.preview.boost.org/admin/versions/version/ , click "Import New Releases".

Updating the windows binaries

Tom Kent stages the windows binaries. They need to be copied into place.

jfrog rt cp --flat=true main/staging/1.78.0/binaries/\* main/release/1.78.0/binaries/

Email mailing list

Templates at the release communications page.