Newer
Older
# CiviCRM v4.6.x: Publish a final release
* Note the original branch, such as `4.6`.
* Note the intended version, such as `4.6.28` or `4.6.29`.
* In civicrm-core.git repo, check that the code in `4.6` correctly references `4.6.X`:
* https://github.com/civicrm/civicrm-core/blob/4.6/xml/version.xml
* https://github.com/civicrm/civicrm-core/blob/4.6/sql/civicrm_generated.mysql
* https://github.com/civicrm/civicrm-core/tree/4.6/CRM/Upgrade/Incremental
* In Jenkins, review the scheduled tests for `4.6` and determine if anything should block the RC.
* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
* Compare the git revisions
* https://download.civicrm.org/latest/civicrm-46NIGHTLY-drupal.tar.gz/inspect
* https://github.com/civicrm/civicrm-core/commits/4.6
* https://github.com/civicrm/civicrm-drupal/commits/6.x-4.6
* https://github.com/civicrm/civicrm-drupal/commits/7.x-4.6
* https://github.com/civicrm/civicrm-joomla/commits/4.6
* https://github.com/civicrm/civicrm-packages/commits/4.6
* https://github.com/civicrm/civicrm-wordpress/commits/4.6
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`.
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
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
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json tag -N
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json publish -N
releaser -v gs://civicrm-build/4.6/civicrm-4.6.28-201705030600.json tag -f
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
```