You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Alex Herbert <al...@gmail.com> on 2021/09/06 10:09:21 UTC

[VOTE][RC2] Release Commons RNG 1.4

We have fixed quite a few bugs and added some significant enhancements
since Apache Commons RNG 1.3 was released, so I would like to release
Apache Commons RNG 1.4.

Apache Commons RNG 1.4 RC1 is available for review here:
    https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2 (svn
revision 49779)
    https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/

The Git tag commit for this RC is RNG_1_4_RC1 which you can browse here:

https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=RNG_1_4_RC
<https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=RNG_1_4_RC1>
2

You may checkout this tag using:
    git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
RNG_1_4_RC2 commons-rng-1.4-RC2
(signature can be checked from git using 'git tag -v RNG_1_4_RC2')

Commit ID the tag points at:
    4d55aebc1e0ac6cab0f451ef5f3f54cd6e5440a6

Maven artifacts are here:

https://repository.apache.org/content/repositories/orgapachecommons-1571/org/apache/commons/commons-rng/1.4/

These are the artifacts and their hashes:

#Release SHA-512s
#Mon Sep 06 10:41:09 BST 2021
commons-rng-1.4-bin.tar.gz=0d3a2b7f35e31f14cd9e204fb69ba973782d5955cf106bf4972831fb19a8e99001a0baef952283103f82be255c33fc218285dea53357dc725c6fa1d5059855db
commons-rng-1.4-bin.zip=2493405ad742a4b26d7c1e7adbfeae2809a2e27f1301c468c9a2fe43e1ebda94393da4d6cbcafb858d95be2bb7b5ef07d105873f2780c336c78c5c9fb0fd8694
commons-rng-1.4-src.tar.gz=5ac9d49c6fc493bf619ce6b0b35cd537528c95094f711debadbce195c87aefbeb19a886ca3bb507954bc1ab8cc20ea5c84cf65e38c67e800d473960def198a9a
commons-rng-1.4-src.zip=8403d574021b4f66bc2cdeb3226a246e5ae9f9b5852bba488ce244f306f7b4f0bb43d7be38993b965c9811c790e2ee5d3d3e77e93474532fee2073a207fc7143

The source code contains examples that are not part of the public API.
These examples contain Java 11 modules and are enabled using a profile (see
below).

Note: Testing randomness using statistical thresholds results in failures
at a given probability. The 'maven-surefire-plugin' is configured to re-run
tests that fail, and pass the build if they succeed within the allotted
number of reruns (the test will be marked as 'flaky' in the report).

I have tested this with 'mvn clean install' using:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/apache-maven-3.6.3
Java version: 1.8.0_241, vendor: Oracle Corporation, runtime:
/usr/lib/jvm/jdk1.8.0_241/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-153-generic", arch: "amd64", family:
"unix"

I have tested this with 'mvn clean package site site:stage
-Pcommons-rng-examples' using:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/apache-maven-3.6.3
Java version: 11.0.11, vendor: Ubuntu, runtime:
/usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-153-generic", arch: "amd64", family:
"unix"

I tested the RC1 issues with the site build have been resolved:

mvn pre-site     (does nothing)
mvn site site:stage -DgenerateReports=false
open target/staging/userguide/rng.html#a7._Dependencies

The userguide dependencies section lists Java 1.8+.

Details of changes since 1.3 are in the release notes:

https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/RELEASE-NOTES.txt

https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/site/changes-report.html

Site:

https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/site/index.html
    (note some *relative* links are broken and the 1.4 directories are not
yet created - these will be OK once the site is deployed.)

JApiCmp Report (compared to 1.3):

https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-client-api/japicmp.html

https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-core/japicmp.html

https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-simple/japicmp.html

https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-sampling/japicmp.html


RAT Report:

https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/rat-report.html

KEYS:
  https://www.apache.org/dist/commons/KEYS

Please review the release candidate and vote.
This vote will close no sooner than 72 hours from now.

  [ ] +1 Release these artifacts
  [ ] +0 OK, but...
  [ ] -0 OK, but really should fix...
  [ ] -1 I oppose this release because...

Thank you,

Alex Herbert,
Release Manager (using key BC87A3FD0A54480F0BADBEBD21939FF0CA2A6567)

The following is intended as a helper and refresher for reviewers.

Validating a release candidate
==============================

These guidelines are NOT complete.

Requirements: Git, Java, Maven.

You can validate a release from a release candidate (RC) tag as follows.

1) Extract the .tar.gz or .zip source archive from the release artifacts.

unzip commons-rng-1.4-src.zip
cd commons-rng-1.4-src

Alternatively clone and checkout the RC tag

git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
RNG_1_4_RC2 commons-rng-1.4-RC2
cd commons-rng-1.4-RC2

2) Check Apache licenses

This step is not required if the site includes a RAT report page which you
then must check.

mvn apache-rat:check

3) Check binary compatibility

This step is not required if the site includes a JApiCmp report page which
you then must check.

mvn package -DskipTests -P japicmp japicmp:cmp

4) Build the package

mvn -V clean verify

You can record the Maven and Java version produced by 'mvn -v' in your VOTE
reply.

To gather OS information from a command line:
Windows: ver
Linux: uname -a

5) Build the site for a multi-module project

mvn package site site:stage

Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html

-the end-

Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Matt Juntunen <ma...@gmail.com>.
Got it. In that case...

- Reports look good.
- Hashes and signatures are good.
- Userguide now lists JDK 8 as a requirement.
- Builds with the following (from the source distribution):

mvn clean install site site:stage -Pcommons-rng-examples

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\Users\matt\tools\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin\..
Java version: 11.0.12, vendor: Eclipse Foundation, runtime: C:\Program
Files\Eclipse Foundation\jdk-11.0.12.7-hotspot
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

mvn clean install

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297;
2018-02-24T14:49:05-05:00)
Maven home: /home/matt/tools/maven/apache-maven-3.5.3
Java version: 1.8.0_292, vendor: Private Build
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-81-generic", arch: "amd64", family: "unix"

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297;
2018-02-24T14:49:05-05:00)
Maven home: /home/matt/tools/maven/apache-maven-3.5.3
Java version: 11.0.2, vendor: Oracle Corporation
Java home: /home/matt/lang/java/jdk-11.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-81-generic", arch: "amd64", family: "unix"

[X] +1 Release these artifacts

Regards,
Matt Juntunen


On Mon, Sep 6, 2021 at 8:53 AM Alex Herbert <al...@gmail.com> wrote:
>
> Hi,
>
> On Mon, 6 Sept 2021 at 13:13, Matt Juntunen <ma...@gmail.com>
> wrote:
>
> > The windows build is fixed. Before I cast my vote, can someone remind
> > me what to do to verify the nexus artifacts?
> >
>
> Thanks for checking.
>
> The nexus items are convenience artifacts. IIUC the vote is specifically
> for the source release. All derived release artifacts are non-essential to
> the release vote.
>
> The link in the vote e-mail for the nexus artifacts was wrong (I did not
> change it from the auto generated link created by the commons release
> plugin). Here are the artifacts:
>
> https://repository.apache.org/content/repositories/orgapachecommons-1571/org/apache/commons/
>
> A laborious way to verify them is to download them, manually install them
> or put them on the classpath and then run them in a test application. You
> can add this repository to a maven project POM and then maven should be
> able to download them (I've not tried that but may give it a go to check if
> it's possible). An ideal way to test them would be to run all the unit
> tests from the source download against the maven artifacts. I do not recall
> anyone performing these actions on a previous vote. A quick browse of the
> staged artifacts to check the expected jars are present should be enough.
> The release guide expects for each module:
>
> .pom
> .jar
> .javadoc.jar
> .sources.jar
> .tests.jar
> .test-sources.jar
>
> The parent POM should also be staged.
>
> I did notice that the parent module has a site.xml staged in nexus. This
> must be a default for any project with the pom packaging as it also happens
> for commons-parent (you can find this in maven central). I do not know why
> you would want to include the site.xml as a dependency so perhaps this is
> something to clean up in the commons release plugin.
>
> Alex

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Alex Herbert <al...@gmail.com>.
I've identified some errors in the javadoc for RandomSource which is the
main entry point for using the library. Given there is no rush to release
this I will cancel RC2 and reroll RC3 with corrected documentation.

Alex

Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Alex Herbert <al...@gmail.com>.
On Mon, 6 Sept 2021 at 14:11, Alex Herbert <al...@gmail.com> wrote:

>
>
> On Mon, 6 Sept 2021 at 13:53, Alex Herbert <al...@gmail.com>
> wrote:
>
>> You can add this repository to a maven project POM and then maven should
>> be able to download them (I've not tried that but may give it a go to check
>> if it's possible).
>>
>
> I removed all the main java files from the source release:
>
> rm -rf  */src/main
>
> Updated the pom versions to 1.5 for the parent and each on the modules
> (i.e. to be something other than 1.4) and added this to the parent pom:
>
>   <distributionManagement>
>     <!-- SNIP -->
>     <repository>
>       <id>ossrh</id>
>       <url>
> https://repository.apache.org/content/repositories/orgapachecommons-1571/
> </url>
>     </repository>
>   </distributionManagement>
>
>   <dependencies>
>     <dependency>
>       <groupId>org.apache.commons</groupId>
>       <artifactId>commons-rng-client-api</artifactId>
>       <version>1.4</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.commons</groupId>
>       <artifactId>commons-rng-core</artifactId>
>       <version>1.4</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.commons</groupId>
>       <artifactId>commons-rng-simple</artifactId>
>       <version>1.4</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.commons</groupId>
>       <artifactId>commons-rng-sampling</artifactId>
>       <version>1.4</version>
>     </dependency>
>     <!-- SNIP -->
>
> This can successfully run 'mvn test'.
>
> So the staged maven artifacts work as expected.
>
>
My previous POM update was incorrect. It worked because the release
artifacts were already installed locally. I had to purge them from the
local repository and correct the pom to use the repositories tag (not the
distribution management tag):

  <repositories>
    <repository>
      <id>test-release</id>
      <name>custom repo</name>
      <url>
https://repository.apache.org/content/repositories/orgapachecommons-1571
</url>
    </repository>
  </repositories>

Then the staged maven artifacts are downloaded and the test suite passes.

Alex

Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Alex Herbert <al...@gmail.com>.
On Mon, 6 Sept 2021 at 13:53, Alex Herbert <al...@gmail.com> wrote:

> You can add this repository to a maven project POM and then maven should
> be able to download them (I've not tried that but may give it a go to check
> if it's possible).
>

I removed all the main java files from the source release:

rm -rf  */src/main

Updated the pom versions to 1.5 for the parent and each on the modules
(i.e. to be something other than 1.4) and added this to the parent pom:

  <distributionManagement>
    <!-- SNIP -->
    <repository>
      <id>ossrh</id>
      <url>
https://repository.apache.org/content/repositories/orgapachecommons-1571/
</url>
    </repository>
  </distributionManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-rng-client-api</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-rng-core</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-rng-simple</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-rng-sampling</artifactId>
      <version>1.4</version>
    </dependency>
    <!-- SNIP -->

This can successfully run 'mvn test'.

So the staged maven artifacts work as expected.

Alex

Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Alex Herbert <al...@gmail.com>.
Hi,

On Mon, 6 Sept 2021 at 13:13, Matt Juntunen <ma...@gmail.com>
wrote:

> The windows build is fixed. Before I cast my vote, can someone remind
> me what to do to verify the nexus artifacts?
>

Thanks for checking.

The nexus items are convenience artifacts. IIUC the vote is specifically
for the source release. All derived release artifacts are non-essential to
the release vote.

The link in the vote e-mail for the nexus artifacts was wrong (I did not
change it from the auto generated link created by the commons release
plugin). Here are the artifacts:

https://repository.apache.org/content/repositories/orgapachecommons-1571/org/apache/commons/

A laborious way to verify them is to download them, manually install them
or put them on the classpath and then run them in a test application. You
can add this repository to a maven project POM and then maven should be
able to download them (I've not tried that but may give it a go to check if
it's possible). An ideal way to test them would be to run all the unit
tests from the source download against the maven artifacts. I do not recall
anyone performing these actions on a previous vote. A quick browse of the
staged artifacts to check the expected jars are present should be enough.
The release guide expects for each module:

.pom
.jar
.javadoc.jar
.sources.jar
.tests.jar
.test-sources.jar

The parent POM should also be staged.

I did notice that the parent module has a site.xml staged in nexus. This
must be a default for any project with the pom packaging as it also happens
for commons-parent (you can find this in maven central). I do not know why
you would want to include the site.xml as a dependency so perhaps this is
something to clean up in the commons release plugin.

Alex

Re: [VOTE][RC2] Release Commons RNG 1.4

Posted by Matt Juntunen <ma...@gmail.com>.
The windows build is fixed. Before I cast my vote, can someone remind
me what to do to verify the nexus artifacts?

Regards,
Matt J

On Mon, Sep 6, 2021 at 6:09 AM Alex Herbert <al...@gmail.com> wrote:
>
> We have fixed quite a few bugs and added some significant enhancements
> since Apache Commons RNG 1.3 was released, so I would like to release
> Apache Commons RNG 1.4.
>
> Apache Commons RNG 1.4 RC1 is available for review here:
>     https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2 (svn
> revision 49779)
>     https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/
>
> The Git tag commit for this RC is RNG_1_4_RC1 which you can browse here:
>
> https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=RNG_1_4_RC
> <https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=RNG_1_4_RC1>
> 2
>
> You may checkout this tag using:
>     git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
> RNG_1_4_RC2 commons-rng-1.4-RC2
> (signature can be checked from git using 'git tag -v RNG_1_4_RC2')
>
> Commit ID the tag points at:
>     4d55aebc1e0ac6cab0f451ef5f3f54cd6e5440a6
>
> Maven artifacts are here:
>
> https://repository.apache.org/content/repositories/orgapachecommons-1571/org/apache/commons/commons-rng/1.4/
>
> These are the artifacts and their hashes:
>
> #Release SHA-512s
> #Mon Sep 06 10:41:09 BST 2021
> commons-rng-1.4-bin.tar.gz=0d3a2b7f35e31f14cd9e204fb69ba973782d5955cf106bf4972831fb19a8e99001a0baef952283103f82be255c33fc218285dea53357dc725c6fa1d5059855db
> commons-rng-1.4-bin.zip=2493405ad742a4b26d7c1e7adbfeae2809a2e27f1301c468c9a2fe43e1ebda94393da4d6cbcafb858d95be2bb7b5ef07d105873f2780c336c78c5c9fb0fd8694
> commons-rng-1.4-src.tar.gz=5ac9d49c6fc493bf619ce6b0b35cd537528c95094f711debadbce195c87aefbeb19a886ca3bb507954bc1ab8cc20ea5c84cf65e38c67e800d473960def198a9a
> commons-rng-1.4-src.zip=8403d574021b4f66bc2cdeb3226a246e5ae9f9b5852bba488ce244f306f7b4f0bb43d7be38993b965c9811c790e2ee5d3d3e77e93474532fee2073a207fc7143
>
> The source code contains examples that are not part of the public API.
> These examples contain Java 11 modules and are enabled using a profile (see
> below).
>
> Note: Testing randomness using statistical thresholds results in failures
> at a given probability. The 'maven-surefire-plugin' is configured to re-run
> tests that fail, and pass the build if they succeed within the allotted
> number of reruns (the test will be marked as 'flaky' in the report).
>
> I have tested this with 'mvn clean install' using:
>
> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> Maven home: /usr/local/apache-maven-3.6.3
> Java version: 1.8.0_241, vendor: Oracle Corporation, runtime:
> /usr/lib/jvm/jdk1.8.0_241/jre
> Default locale: en_GB, platform encoding: UTF-8
> OS name: "linux", version: "4.15.0-153-generic", arch: "amd64", family:
> "unix"
>
> I have tested this with 'mvn clean package site site:stage
> -Pcommons-rng-examples' using:
>
> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> Maven home: /usr/local/apache-maven-3.6.3
> Java version: 11.0.11, vendor: Ubuntu, runtime:
> /usr/lib/jvm/java-11-openjdk-amd64
> Default locale: en_GB, platform encoding: UTF-8
> OS name: "linux", version: "4.15.0-153-generic", arch: "amd64", family:
> "unix"
>
> I tested the RC1 issues with the site build have been resolved:
>
> mvn pre-site     (does nothing)
> mvn site site:stage -DgenerateReports=false
> open target/staging/userguide/rng.html#a7._Dependencies
>
> The userguide dependencies section lists Java 1.8+.
>
> Details of changes since 1.3 are in the release notes:
>
> https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/RELEASE-NOTES.txt
>
> https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/site/changes-report.html
>
> Site:
>
> https://dist.apache.org/repos/dist/dev/commons/rng/1.4-RC2/site/index.html
>     (note some *relative* links are broken and the 1.4 directories are not
> yet created - these will be OK once the site is deployed.)
>
> JApiCmp Report (compared to 1.3):
>
> https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-client-api/japicmp.html
>
> https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-core/japicmp.html
>
> https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-simple/japicmp.html
>
> https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/commons-rng-sampling/japicmp.html
>
>
> RAT Report:
>
> https://home.apache.org/~aherbert/commons-rng-1.4-RC2-site/rat-report.html
>
> KEYS:
>   https://www.apache.org/dist/commons/KEYS
>
> Please review the release candidate and vote.
> This vote will close no sooner than 72 hours from now.
>
>   [ ] +1 Release these artifacts
>   [ ] +0 OK, but...
>   [ ] -0 OK, but really should fix...
>   [ ] -1 I oppose this release because...
>
> Thank you,
>
> Alex Herbert,
> Release Manager (using key BC87A3FD0A54480F0BADBEBD21939FF0CA2A6567)
>
> The following is intended as a helper and refresher for reviewers.
>
> Validating a release candidate
> ==============================
>
> These guidelines are NOT complete.
>
> Requirements: Git, Java, Maven.
>
> You can validate a release from a release candidate (RC) tag as follows.
>
> 1) Extract the .tar.gz or .zip source archive from the release artifacts.
>
> unzip commons-rng-1.4-src.zip
> cd commons-rng-1.4-src
>
> Alternatively clone and checkout the RC tag
>
> git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
> RNG_1_4_RC2 commons-rng-1.4-RC2
> cd commons-rng-1.4-RC2
>
> 2) Check Apache licenses
>
> This step is not required if the site includes a RAT report page which you
> then must check.
>
> mvn apache-rat:check
>
> 3) Check binary compatibility
>
> This step is not required if the site includes a JApiCmp report page which
> you then must check.
>
> mvn package -DskipTests -P japicmp japicmp:cmp
>
> 4) Build the package
>
> mvn -V clean verify
>
> You can record the Maven and Java version produced by 'mvn -v' in your VOTE
> reply.
>
> To gather OS information from a command line:
> Windows: ver
> Linux: uname -a
>
> 5) Build the site for a multi-module project
>
> mvn package site site:stage
>
> Check the site reports in:
> - Windows: target\site\index.html
> - Linux: target/site/index.html
>
> -the end-

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org