Skip to content
Snippets Groups Projects

CiviCRM v5.x.0: Publish a release candidate

Prerequisites

See Prerequisites

1: Sanity checks

2: Bump version number on master to 5.X.beta1

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

3: Make a branch

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

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

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/master. 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/master
git scan foreach -c 'pwd; git branch | grep \* ; 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 )
( cd drupal && git checkout 7.x-master && git pull origin 7.x-master )
 
## Make branches (preview)
git scan branch 5.X master -p -n -T
 
## Make branches (for real)
git scan branch 5.X master -p
 
## Push the branches (preview)
git scan push -up origin 5.X -n -T
 
## Push the branches (for real)
git scan push -up origin 5.X

Finally, skim the published branches to make sure they match up:

civi-git-table --fetch master 5.X

4: Setup automated processes

5: 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 5.X.

6: Bump version number on master to 5.Y.alpha1

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

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