Something went wrong on our end
4.7-rc.md 4.59 KiB
CiviCRM v4.7.x: Publish a release candidate
WARNING: Not updated since 5.x
Prerequisites
See Prerequisites
1: Sanity checks
- Note the original branch, such as
master
. - Note the intended version, such as
4.7.8
or4.7.9
. (In the rest of this document, we'll refer to4.7.X
, but4.7.X
should be adjusted to circumstance.) - In
civicrm-core.git
repo, check that the code inmaster
correctly references4.7.X
: - In Jenkins, review the scheduled tests for
master
and determine if anything should block the RC.
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.
- https://github.com/civicrm/civicrm-backdrop/tree/1.x-4.7.X-rc
- https://github.com/civicrm/civicrm-core/tree/4.7.X-rc
- https://github.com/civicrm/civicrm-drupal/tree/6.x-4.7.X-rc
- https://github.com/civicrm/civicrm-drupal/tree/7.x-4.7.X-rc
- https://github.com/civicrm/civicrm-drupal/tree/8.x-4.7.X-rc
- https://github.com/civicrm/civicrm-joomla/tree/4.7.X-rc
- https://github.com/civicrm/civicrm-packages/tree/4.7.X-rc
- https://github.com/civicrm/civicrm-wordpress/tree/4.7.X-rc
3: Setup automated processes
- Go to https://test.civicrm.org/job/CiviCRM-Core-Matrix/configure
- In the list of
CIVIVER
s, remove any old RC's. Add the current RC. (ex:4.6 4.7.24-rc master
)
- In the list of
- Go to https://test.civicrm.org/job/CiviCRM-Ext-Matrix/configure
- In the list of
CIVIVER
s, remove any old RC's. Add the current RC. (ex:4.6 4.7.24-rc master
)
- In the list of
- Go to https://test.civicrm.org/job/CiviCRM-Publish-Schedule/configure
- In the list of
branchNames
, remove any old RC's. Add the current RC. (ex:master 4.6 4.7.24-rc
)
- In the list of
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:
- https://github.com/civicrm/civicrm-core/settings/branches
- https://github.com/civicrm/civicrm-packages/settings/branches
- https://github.com/civicrm/civicrm-backdrop/settings/branches
- https://github.com/civicrm/civicrm-drupal/settings/branches
- https://github.com/civicrm/civicrm-joomla/settings/branches
- https://github.com/civicrm/civicrm-wordpress/settings/branches
master
to 4.7.Y
6: Bump version number on 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