-
Notifications
You must be signed in to change notification settings - Fork 69
Labels
Description
We should use the apache infrastructure to publish a first incubating release.
The releases are currently being published automatically on maven central (jar files), docker hub (image generated with jib) and github (zip distribution) and we should adapt the workflow. The issues #219 and #184 may also be relevant here. JReleaser looks really nice and may help at simplifying the release work.
The following checklists aims at listing the changes that must be performed in the workflow:
Maven
- publish artifacts to the maven central repository
- artifacts should be under the groupId of org.apache.baremaps
- The POM file should set the ALv2 license as its license, Apache Baremaps as its developer name, and proper source control information.
- the project description should include the incubator disclaimer
- Release candidates, nightlys or snapshots need to be clearly marked by adding suffix in its version, like org.apache.baremaps.:0.1-SNAPSHOT
- publish the artifacts to the apache maven repository #719
- Release automation #844
Github
- publish binary release github (baremaps/baremaps)
- publish binary release github (apache/incubator-baremaps)
- any releases need to include the text of the incubation disclaimer.
- the release page must not contain release candidates, nightly or snapshots releases that have not been tagged as prereleases (Ignoring that GitHub also displays tags on the release page)
- Any releases that exist before coming into incubation need to be clearly described on the release page and tagged as such on https://github.com/apache/incubator-baremaps/tags
- release candidates, nightlys or snapshots releases can be tagged and appear on https://github.com/apache/incubator-baremaps/tags.
Legal
- Verify the copyright and attribution of external code included in the project
- Verify the licenses of the dependencies
- Check the project with Skywalking #720
- Configure Maven Rat #731
Misc
- include the word incubating in the release file name
- automate the creation of a changelog file
- ensure that the copyrights is present in the binary distribution
- include a NOTICE file in the binary distribution
- include a LICENSE file in the binary distribution
- have valid checksums
- have valid signatures
- the official release artifacts should not contain unapproved code
- have a KEYS file to validate the release
- Audit the various test data sets #721
- Check any generated files in the source code? maplibre-gl-inspect.js and schema.db
- Add headers to every text file that supports it, e.g. pom.xml, README.md, baremaps.bat (Fix missing license headers #598)
- Check the licenses with the maven rat plugin #603
- Check the licenses with the maven rat plugin #603
- Missing files in src release #604
- Add prefix
apache-
on the tar file names and on the directory inside the tar #605 - Add version number in README in the release #606
- Verify the projects necessary in the NOTICE file #607
- Verify and correct the LICENSE file for the -bin.tar release #608
Sources
- https://incubator.apache.org/guides/releasemanagement.html
- https://incubator.apache.org/guides/distribution.html
- https://apache.org/legal/resolved.html
- https://infra.apache.org/licensing-howto.html#bundle-asf-product
- https://infra.apache.org/publishing-maven-artifacts.html
- https://infra.apache.org/licensing-howto.html#binary