Skip to content
Snippets Groups Projects

CiviCRM v4.6.x: Publish a final release

Prerequisites

See Prerequisites

1: Sanity checks

2: Identify the final RC

Determine the identity of the final release candidate:

gsutil ls gs://civicrm-build/4.6/*json

For example, we might pick gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json.

3: Publish

You can do the full process in one command:

cd /path/to/civicrm
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json get sign tag publish

or do the steps individually:

cd /path/to/civicrm

## Download and rename the RC tarballs
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json get

## Generate signatures for tarballs
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json sign

## Generate tags in each repo (dry run)
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json tag -N

## Publish tarballs to Sourceforge and Gcloud (dry run)
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json publish -N

## Generate tags in each repo  (really)
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json tag -f

## Publish tarballs to Sourceforge and Gcloud (really)
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json publish

4: Update versions.json

Services such as the civicrm.org download page and the in-app version check depend on a file named versions.json. Update this.

## Find and examine the current list of releases.
cd /var/www/latest.civicrm.org/public/
ls -la versions.json
./bin/pb release:list

## Add the new release. Be sure to adjust versions/dates.
./bin/pb release:add 4.6.28 --date=2017-05-03 --security=false

## Make the change persistent.
git commit versions.json
git push origin master

5: Bump version

cd ~/src/4.6
git checkout 4.6
git pull --ff-only origin 4.6
./tools/bin/scripts/set-version.php 4.6.Y --commit
git push origin 4.6