This is an attempt to write down the procedure to make a release of the geOrchestra SDI.
From master, create a new branch:
git checkout master
git pull origin master
git checkout -b 20.1
git push origin 20.1
Same has to be done for the docker-master
branch:
git checkout docker-master
git pull origin docker-master
git checkout -b docker-20.1
git push origin docker-20.1
From master, create a new branch:
git checkout master
git pull origin master
git checkout -b 20.1
Update the image tags:
sed -i 's/latest/20.1.x/g' docker-compose.yml
Make sure the config folder tracks the docker-20.1
datadir branch:
$ cat .gitmodules
[submodule "config"]
path = config
url = https://github.com/georchestra/datadir.git
branch = docker-20.1
Manually update the README and .github/dependabot.yml
git commit -am "20.1 branch"
git push origin 20.1
From master, create a new branch:
git checkout master
git pull origin master
git checkout -b 20.1
git push origin 20.1
Same has to be done for the geofence
branch:
git checkout geofence
git pull origin geofence
git checkout -b 20.1-geofence
git push origin 20.1-geofence
cd geonetwork
git checkout georchestra-gn3.10.2
git pull origin georchestra-gn3.10.2
git tag 20.1.0
git push origin 20.1.0
Then create a new release.
From the master branch of the georchestra repository, derive a 20.1.x
branch:
git checkout master
git pull origin master
git checkout -b 20.1.x
Update the GeoNetwork submodule to the release commit:
cd geonetwork
git fetch origin
git checkout 20.1.0
cd -
Other tasks:
- Manually update the files mentionning the current release version (
README.md
andRELEASE_NOTES.md
) - Update the branch name for the Travis status logo
- Change the
packageDatadirScmVersion
parameter in the rootpom.xml
to20.1
- Change the
BTAG
variable in the Makefile to20.1.x
- Check the submodule branches in
.gitmodules
are correct, since dependabot depends on it to update submodules - Setup a new dependabot job which takes care of updating the submodules for this new branch
- Change the default branches in github repositories
Commit and propagate the changes:
git add geonetwork
git commit -am "20.1.x branch"
When the release is ready on branch 20.1.x
, push a tag:
git tag 20.1.0
git push origin 20.1.x --tags
The master branch requires some work too:
git checkout master
find ./ -name pom.xml -exec sed -i 's#<version>20.1-SNAPSHOT</version>#<version>20.2-SNAPSHOT</version>#' {} \;
git submodule foreach 'git reset --hard'
git commit -am "updated project version in pom.xml"
geOrchestra 20.1.0 is now released, congrats !
Do not forget to :
We're taking example on the 20.0.2 release.
cd geonetwork
git checkout georchestra-gn3.8.2
git pull origin georchestra-gn3.8.2
git tag 20.0.2
git push origin 20.0.2
Then create a new release.
Create the release commit:
cd georchestra
git checkout 20.0.x
git pull origin 20.0.x
find ./ -name pom.xml -exec sed -i 's#<version>20.0-SNAPSHOT</version>#<version>20.0.2</version>#' {} \;
cd geonetwork
git fetch origin
git checkout 20.0.2
cd ..
git add geonetwork
git add -p
git commit -m "20.0.2 release"
git push origin 20.0.x
git tag 20.0.2
git push origin 20.0.2
Then create a new release.
Finally, revert the maven version back to SNAPSHOT:
find ./ -name pom.xml -exec sed -i 's#<version>20.0.2</version>#<version>20.0-SNAPSHOT</version>#' {} \;
git add -p
git commit -m "back to SNAPSHOT"
git push origin 20.0.x
Create new milestones for georchestra and geonetwork.
Tweet !