CiviCRM v4.7.x: Publish a final release
WARNING: Not updated since 5.x
Prerequisites
See Prerequisites
1: Sanity checks
- Check release notes: https://github.com/civicrm/civicrm-core/tree/4.7.X-rc/release-notes
- In Jenkins, review the scheduled tests for
4.7.X-rc
and determine if anything should block the release. - Compare the git revisions
- https://download.civicrm.org/latest/civicrm-RC-drupal.tar.gz/inspect
- https://github.com/civicrm/civicrm-core/commits/4.7.X-rc
- https://github.com/civicrm/civicrm-backdrop/commits/1.x-4.7.X-rc
- https://github.com/civicrm/civicrm-drupal/commits/6.x-4.7.X-rc
- https://github.com/civicrm/civicrm-drupal/commits/7.x-4.7.X-rc
- https://github.com/civicrm/civicrm-joomla/commits/4.7.X-rc
- https://github.com/civicrm/civicrm-packages/commits/4.7.X-rc
- https://github.com/civicrm/civicrm-wordpress/commits/4.7.X-rc
2: Identify the final RC
Determine the identity of the final release candidate:
gsutil ls gs://civicrm-build/*rc/*json
For example, we might pick gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json
.
3: Publish
You can do the full process in one command:
cd ~/src/4.7
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --get --sign --tag --publish
or do the steps individually:
cd ~/src/4.7
## Download and rename the RC tarballs
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --get
## Generate signatures for tarballs
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --sign
## Generate tags in each repo (dry run)
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --tag -n
## Publish tarballs to Sourceforge and Gcloud (dry run)
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --publish -n
## Generate tags in each repo (really)
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --tag -f
## Publish tarballs to Sourceforge and Gcloud (really)
releaser gs://civicrm-build/4.7.19-rc/civicrm-4.7.19-201705030600.json --publish
You might want to spot-check a few URLs to ensure the tags were published, e.g.
- https://github.com/civicrm/civicrm-backdrop/tree/1.x-4.7.X
- https://github.com/civicrm/civicrm-core/tree/4.7.X
- https://github.com/civicrm/civicrm-drupal/tree/6.x-4.7.X
- https://github.com/civicrm/civicrm-drupal/tree/7.x-4.7.X
- https://github.com/civicrm/civicrm-drupal/tree/8.x-4.7.X
- https://github.com/civicrm/civicrm-joomla/tree/4.7.X
- https://github.com/civicrm/civicrm-packages/tree/4.7.X
- https://github.com/civicrm/civicrm-wordpress/tree/4.7.X
versions.json
4: Update 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.7.19 --date=2017-05-03 --security=false
## Make the change persistent.
git commit versions.json
git push origin master
sourceforge.net
5: Set default on Log into https://sourceforge.net/projects/civicrm/files/civicrm-stable and set the latest Drupal version to be the default download.
Eg: After 4.6.8 release, go to https://sourceforge.net/projects/civicrm/files/civicrm-stable/4.6.8/ . Click on "i" for civicrm-4.6.8-drupal.tar.gz
, then select all "Default Download For" and "Save".
Note that it takes some time to reflect default download on sf.net