Repository navigation
Closed
4 / 44 of 4 issues completedMilestone
Description
Setup and preliminary checks
This steps have to be followed always when preparing a new release.
- Create an issue with this checklist in the release milestone, named "Release YYYY.XX.mm".
- Create the milestone if it doesn't exist. (Name YYYY.XX.mm).
- Verify if it is needed to release a new version of
http_proxy,mapfish-printorgeostore, and do it if necessary accordingly with release calendar.- for
geostore, check if here is present the version specified. Release procedure is specified in the Readme.md file of the project. - for
http_proxy, check if here is present the version specified. Release procedure is specified in the Readme.md file of the project. - for
mapfish-printcheck if here is present the version specified. Release procedure is specified in the Readme.md file of the project.
- for
- Check if dependencies of MapStore libraries and geostore libraries are the same (compare
src/pom.xmlin geostore epom.xmlin MapStore). - Check if dependencies of the template projects are aligned
-
project/standard/templates/pom.xmlare aligned as the ones inpom.xmlof MapStore -
project/standard/templates/web/pom.xmlare aligned as the ones inproduct/pom.xmlof MapStore.
-
New stable branch creation
Only if you need to create a new stable major release (YYYY.XX.00), you need to create a branch for it. Check the following:
- Run the
Cut Release Branchworkflow on github.
With the following Parameters:- Use workflow from branch
master - MapStore branch name to use:
YYYY.XX.xx - use the default value for the other parameters
- Use workflow from branch
- Wait for the process to complete. At the end:
- A Pull request will be created to the master
- A new branch named
YYYY.XX.xxwith fixed versions
- Merge the incoming PR created by the workflow
- Create on ReadTheDocs project the version build for
YYYY.XX.xx(click on "Versions" and activate the version of the branch) - Run the
Cut Release Branchworkflow on MapStoreExtension project, indicating:- Use workflow from branch
master - MapStore branch name to use:
YYYY.XX.xx - main branch
master(default)
- Use workflow from branch
- Update the QA build to point to the branch created (YYYY.XX.xx)
Before the Release
- Check
pom.xmldependencies are all in fixed stable versions ( no-SNAPSHOTusage release). If not, You use the actionUpdate dependencies versionsto fix them, setting:- the branch to
YYYY.XX.xx - the of geostore, http_proxy and mapfish-print versions accordingly with the MapStore release calendar
- the branch to
- Merge the PR created after the action avove has been finshed
- Check that MapStoreExtension repository is aligned and working.
- Run the Submodule Update of MapStoreExtension to generate the
SampleExtension.zipto use for testing.- Use workflow from
YYYY.XX.xxbranch - Wait for completition
- Download the
Artifacts.zipthat containsSampleExtension.zipfrom the execution of thechecksaction on the branchYYYY.XX.xx. This can be used for tests.
- Use workflow from
- Test on QA https://qa-mapstore.geosolutionsgroup.com/mapstore/
- Test everything, not only the new features
- Test the creation of a standard project starting in from the stable branch and with the internal backend, so:
-
node ./createProject.jsand insert the entries (for the rest simply press enter:- project name:
release_project_test - base branch: insert the release branch (e.g.
YYYY.XX.xx) - project folder insert
../test_release_<release_number>)
- project name:
-
cd ../test_release_<release_number> -
npm install -
npm start, then check that an empty homepage loads correctly
-
Prepare Release
- Run
Prepare Releaseworkflow on github actions with the following parameters:- Use workflow from
branchYYYY.XX.xx (the release branch) - Version to release YYYY.XX.mm (the effective number of the release)
- MapStore version for changelog generation YYYY.XX.mm (the effective number of the previous release)
- version to fix for the java module, accordingly with release calendar (e.g.
1.7.0) - use the default value for the other parameters
- Use workflow from
- Wait for the process to complete. At the end:
- a new commit will be added to the release branch tagged as
vYYYY.XX.mm. This commit will contain the changelog and the updated version of the java modules. - a pull request will be created on master with the changelog updates
- a new commit will be added to the release branch tagged as
- Merge the incoming PR created by the workflow for updating changelog on Master
- Run
Submodules Updateon MapStoreExtension:- Branch
YYYY.XX.xx
- Branch
MapStore Stable deploy
- check if there are changes to be ported to STABLE branch of mapstore-datadir repo
- if so prepare a PR to be merged
- merge the PR and move on with the steps otherwise stop here
- Lunch MapStore2-Stable-Build
-branch:vYYYY.XX.mm(the version tag name, e.g. v2024.01.01)
-version:${branch}-stable( version to pass to the build )
-TAG_NAME:${branch}-stable(tag to assign to the docker hub image) - After "MapStore2-Stable-Build" finished, Launch MapStore2-Stable-Deploy to install the latest stable version on official demo.
-branch:vYYYY.XX.mm(the version tag name, e.g. v2024.01.01)
-TAG_NAME:${branch}-stable(tag of the docker hub image, previously build) - Test the change has been applied, login on https://mapstore.geosolutionsgroup.com and verify that the layers from
gs-stableare visible without errors (typically authentication errors that was caused by the wrong auth-key).
Create and Publish MapStoreExtension release
- Create a draft release for MapstoreExtension with the same name and tag
- target of the release is stable branch aligned to latest commit in stable branch of main mapstore repo
- tag is vYYYY.XX.mm
- Upload the
SampleExtension.zipto upload on release:- Open the page. You will see a process running for the stable branch, triggered by "Update submodules". Wait for the end of this task.
- When the process is succesfully finished click on the "Update submodules" last successful task. The task page will open.
- At the bottom of the page click on "Artifacts" to download.
- Extract from the
artifacts.ziptheSampleExtension.zipfile - Upload the
SampleExtension.zipto the draft release created.
- Publish the MapStoreExtension release
Create and Publish MapStore release
- Run
Create Releaseworkflow on github actions with the following parameters:- Use workflow from
branchYYYY.XX.xx (the release branch) - Version to release YYYY.XX.mm (version without the
vprefix) - Previous Version of the release YYYY.XX.mm (the effective number of the previous release, without the
vprefix) for correct full changelog link generation
- Use workflow from
- Launch MapStore2-Stable-Releaser Jenkins job with
- branch: vYYYY.XX.mm (the version tag name, e.g. v2024.01.01)
- ms2Version: YYYY.XX.mm (version without the
vprefix)
- Wait the end of the 2 process
When the processes are finished, the release is ready to be published on github in draft mode.
- Open the new release in draft from here
- Update the link to Docker in the release notes with the link to the latest stable release (search the new tag on docker hub )
- Update the description of the release details
- Publish the release
Update ReadTheDocs
- create on ReadTheDocs project the version build for
vYYYY.XX.mm(search for the tag, check theactivetoggle and click on update verson ) - Update
Default versionto point the new tag (vYYYY.XX.mm) in read the ReadTheDocs Settings panel and click on save.
Finalize Release
- Run the
Post Releaseworkflow on github with the following parameters:- Use workflow from branch
YYYY.XX.xx(the release branch) - Version of Java Packages to restore accordingly with release calendar with
-SNAPSHOTE.g.1.7-SNAPSHOT
- Use workflow from branch
- Use the action
Update dependencies versionsto restore the-SNAPSHOTversion of GeoStore, setting:- the branch to
YYYY.XX.xx - the of geostore, http_proxy and mapfish-print versions accordingly with the MapStore release calendar and use
-SNAPSHOTversion of geostore.
- the branch to
- Write to the mailing list about the current release news and the next release major changes
- Optional - prepare a PR for updating release procedure, if needed
- Close this issue
- Close the related milestone YYYY.XX.mm
Other useful information
Metadata
Metadata
Assignees
Labels
No labels
Activity
[-]2026.03.00[/-][+]Release 2026.03.00[/+]offtherailz commentedon Nov 3, 2026
Last process is going to auto-merge when checks pass #13124 (review)
For the rest please @tdipisa review the release notes and finalize the steps with mailing list email and the final steps.
The PR to update the release procedure is here to review for the next release (but not needed to backport, is an isse template so only master is valid.