Skip to content
Snippets Groups Projects

CiviCRM v4.7.x: Publish a release candidate

WARNING: Not updated since 5.x

Prerequisites

See Prerequisites

1: Sanity checks

2: Make a branch

For each git repo, we want to create a new branch for the RC. This follows a naming convention:

repo original branch new branch
civicrm-core master 4.7.X-rc
civicrm-packages master 4.7.X-rc
civicrm-backdrop 1.x-master 1.x-4.7.X-rc
civicrm-drupal 6.x-master 6.x-4.7.X-rc
civicrm-drupal 7.x-master 7.x-4.7.X-rc
civicrm-drupal 8.x-master 8.x-4.7.X-rc
civicrm-joomla master 4.7.X-rc
civicrm-wordpress master 4.7.X-rc

The commands git scan branch and git scan push will do this – if you have a copy of each repo.

A safe way to make a clean copy of every repo is to create a new dist build (civibuild create dist). On latest.civicrm.org, there's already a copy in ~/src/4.7. Either way, you should make sure it's up-to-date on all relevant branches -- then make new branches:

## Ensure that you have a clean, up-to-date copy of the `master` branch.
cd ~/src/4.7
git scan foreach -c 'pwd; git branch; echo'
git scan up
 
## Fixme: for now you need to manually add the extra drupal branches
cd drupal
git checkout 6.x-master && git pull origin 6.x-master
git checkout 8.x-master && git pull origin 8.x-master
git checkout 7.x-master && git pull origin 7.x-master
cd ..
 
## Make branches (preview)
git scan branch 4.7.X-rc master -p -n -T
 
## Make branches (for real)
git scan branch 4.7.X-rc master -p
 
## Push the branches (preview)
git scan push -p origin 4.7.X-rc -n -T
 
## Push the branches (for real)
git scan push -p origin 4.7.X-rc

You might want to spot-check a few URLs to ensure the branches were published, e.g.

3: Setup automated processes

4: Publish tarballs

  • Go to https://test.civicrm.org/job/CiviCRM-Publish/
  • Check to see if the new branch is being built automatically. If not:
    • Login (if you haven't already)
    • Click "Build with parameters"
    • For the branch name, enter your chosen 4.7.X-rc.

5: Enable branch protection

To prevent someone from accidentally deleting the new RC branch, enable protection:

6: Bump version number on master to 4.7.Y

The original branch, "master", should continue development with the next version, e.g. "4.7.Y".

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