This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 64ef1abc1a Update building instructions and changelog for repeatable builds 64ef1abc1a is described below commit 64ef1abc1af6b76bd4e051a1837734d1efdd6c2e Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Jun 9 16:47:54 2022 +0100 Update building instructions and changelog for repeatable builds --- BUILDING.txt | 27 +++++++++++++++++++++++++++ res/maven/README.txt | 11 +++++------ webapps/docs/changelog.xml | 11 +++++++++++ 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/BUILDING.txt b/BUILDING.txt index 7702fe5cee..41a8b8658e 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -301,9 +301,36 @@ You can build them by using the following commands: Release managers will be provided with the necessary credentials by the PMC. 4. Build the release: + + Apache Tomcat releases are fully reproducible. + Release managers producing release builds must follow the following + procedure: + cd ${tomcat.source} + ant pre-release ant release + git commit -a -m "Tag <version-number>" + git tag <vesion-number> + git push origin <version-number> + ant release + git reset --hard HEAD~1 + + The output from either 'ant release' call may be uploaded as the official + release since they will be identical. It is recommended that the output from + the second call is used. + + Anyone wishing to reproduce an official build must do so from an official + source release. The build tool chain defined in build.properties.release + must be used to reproduce an official build. Once unpacked to + ${tomcat.source}, the following steps must be followed + + cd ${tomcat.source} + ant release + + Following the same steps without using the defined build tool chain will + create a release that is functionally the same as an official release but + not bit for bit identical. (7) Tests diff --git a/res/maven/README.txt b/res/maven/README.txt index 282f2a25aa..4152c0e3a7 100644 --- a/res/maven/README.txt +++ b/res/maven/README.txt @@ -16,12 +16,11 @@ ================================================================================ General preparations before any publishing: -1 - Generate a standard Tomcat release (ant release) -2 - Copy mvn.properties.default to mvn.properties and adjust it as necessary. - You will need to set asf.ldap.username and you'll probably need to set - gpg.exec - The other properties should be OK. Note: you will be prompted for your - GPG pass-phrase and LDAP password when the script runs. +1 - Generate a standard Tomcat release. + This will generate a mvn.properties.release file as part of the tag. It + should include the property settings required to complete the release. +2 - Should any of the properties need to be overridden, create a + mvn.properties and override as necessary. To publish a snapshot do the following: 1 - ant -f mvn-pub.xml deploy-snapshot diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 104349dbc4..3c2faf667a 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -134,6 +134,17 @@ The minimum Ant version required to build Tomcat 10.1.x is now 1.10.2. (markt) </update> + <add> + Add additional automation to the build process to reduce the number of + manual steps that release managers must perform. (schultz) + </add> + <add> + Implement support for reproducible builds. Reproducible builds are + independent of operating system but require the same Ant version and + same JDK (vendor and version) to be used as associated version + information is embedded in a number of build outputs such as JAR file + manifests. (markt) + </add> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org