Create a new release¶
Vocabulary¶
On this page I use the word version
for a major version of MapFish
Geoportal (1.6), and the word release
for each step in this version
(1.6.0rc1, 1.6.0, 1.6.1, …).
MapFish Geoportal
is the pack that includes CGXP and c2cgeoportal,
from start of 2014 both projects will synchronize their major versions.
Then <release>
can be 1.6.0rc1
for the first release candidate
of the version 1.6.0
, 1.6.0
for the final release, 1.6.1
for
the first bug fix release, and <version>
can be 1.6
, 2.0
, …
For ngeo see here <https://github.com/camptocamp/ngeo/blob/master/docs/developer-guide.md#create-a-package-on-npm>_.
c2cgeoportal¶
New version¶
Checkout the code:
git fetch git checkout master git reset --hard origin/master
Get the localisation from Transifex:
make transifex-get
For each version we create a new branch (at the latest at the final release):
git checkout -b <version> git push origin <version>
Go back to the master branch:
git checkout master
Edit the version in the setup.py
to be <version + 1>
.
Commit your changes:
git add setup.py git commit -m "Start version <version + 1>"
Push your changes:
git push origin master
Create a new Transifex resource:
make transifex-init
Then continue by creating the release.
New release¶
Checkout the code:
git fetch git checkout <version> git reset --hard origin/<version>
Tag the new release:
git tag <release> git push origin <release>
Notes about Travis¶
When you push a tag with the pattern ^[0-9]+\.[0-9]+\..+$
a new release will automatically be created on Travis CI.
Post release tasks¶
When a new release or a new version is done you should do the following tasks:
Merge the release changes (on
ngeo
and onc2cgeoportal
) to the upper branches i.e.:1.6
=>2.0
,2.0
=>master
.Note
On
c2cgeoportal
merge see if an alembic merge should be done:.build/venv/bin/alembic \ --config c2cgeoportal/tests/functional/alembic.ini \ heads .build/venv/bin/alembic \ --config c2cgeoportal/tests/functional/alembic_static.ini \ heads
If yes create the merge with:
.build/venv/bin/alembic \ --config c2cgeoportal/tests/functional/alembic[_static].ini \ merge --message "Merge <src> and <dst> branches" \ <rev 1> <rev 2>
Remove the import and replace the core of the method by
pass
in the generated file.And finally add the new file.
Upgrade the demo in your home folder with
make upgrade
.Update the demo on the test server in the main folder with:
sudo -u sigdev make -f demo.mk update sudo -u sigdev make -f demo.mk build
Test the demo <http://testgmf.sig.cloud.camptocamp.net/>_.
Deploy on the demo server with:
sudo -u deploy deploy -r deploy/deploy.cfg demo_server
Rename the milestone on c2cgeoportal <https://github.com/camptocamp/c2cgeoportal/milestones>_ and on ngeo <https://github.com/camptocamp/ngeo/milestones>_ from
x.y
tox.y.z
.Create again the milestone on c2cgeoportal <https://github.com/camptocamp/c2cgeoportal/milestones>_ and on ngeo <https://github.com/camptocamp/ngeo/milestones>_ for
x.y
.Move all the open issues to the new milestone and close the current milestone in ngeo <https://github.com/camptocamp/ngeo/milestones>_ and in c2cgeoportal <https://github.com/camptocamp/c2cgeoportal/milestones>_.
Send a release email to the
geomapfish@googlegroups.com
andgmf2@lists.camptocamp.com
mailing lists.