Patch process
This section outlines the patching process for GeoGirafe. It contains the instructions for contributors responsible for publishing GeoGirafe releases.
Apply the patch
- Create a branch from the previous tag where the patches should be applied.
The brach MUST HAVE a different name than the tag.
Proposed name:version-X.Y.Z.
Do the necessary changes on this new branch. - Protect this new branch in the repository settings by choosing Maintainers group:
🔗 https://gitlab.com/geogirafe/gg-viewer/-/settings/repository#js-protected-branches-settings
Preparation
- Prepare the release notes for GitLab using the changelog and the list of merge requests. 🔗 https://gitlab.com/geogirafe/gg-viewer/-/releases
- Prepare a Post for Discord, channel announcements 🔗 https://discord.com/channels/1194934479282778122/1239473095237177415
Publication
1. gg-viewer Repository
- Create a tag with the version number:
🔗 https://gitlab.com/geogirafe/gg-viewer/-/tags
Proposed name:vX.Y.Z. - Protect the tag in the repository settings by choosing Maintainers group: 🔗 https://gitlab.com/geogirafe/gg-viewer/-/settings/repository#js-protected-tags-settings
- A pipeline will automatically start:
🔗 https://gitlab.com/geogirafe/gg-viewer/-/pipelines - The changes can be tested on the demo:
🔗 https://demo.geogirafe.org/vX.Y.X/ - The
publish-dockerandpublish-libjobs must be started manually, once the tests are satisfying.
This will publish the new vesions to npm and docker-hub - Verify that the new version has been published to npm:
🔗 https://www.npmjs.com/package/@geogirafe/lib-geoportal?activeTab=versions - Create a new release based on the new tag:
🔗 https://gitlab.com/geogirafe/gg-viewer/-/releases/new
2. gg-template Repository
- Edit https://gitlab.com/geogirafe/gg-template/-/blob/main/package.json and set
"version": "<REPLACE_WITH_VERSION>" - Publish the new version to npm, following the Readme of the project
- Commit and push your changes.
- Create a new tag from
mainwith the version number you just published.
3. gg-sample Repository
- Edit https://gitlab.com/geogirafe/gg-sample/-/blob/main/package.json and set
"@geogirafe/lib-geoportal": "<REPLACE_WITH_VERSION>" - Create a new tag from
mainwith the version number you just published. - Try to create GeoGirafe project based on the lib:
npm create @geogirafe/template my-geogirafe-app
Verify that is based on the last dev version. - Try to create GeoGirafe project based on the new tag:
npm create @geogirafe/template my-geogirafe-app v<version_number>
Verify that is based on the last stable version.
5. Social
- Publish the Discord post.