...
Step 1.3. Make sure all files have correct License headers and the top level LICENSE file has been updated
Step 1.4. Make code changes with necessary version updates
At least 3 days prior to cutting the first release candidate, bump up the version number and address other changes that the release depends on.
- Any new files added in this release must have a valid license header, ideally this should be checked by the RAT test.
- Make sure the Apache RAT test is passing (will be fixed by mid March 2018, contact mbaijal@ in case of issues).
Link - http://jenkins-master-elb-1979848568.us-east-1.elb.amazonaws.com/view/Prod/job/RAT_LicenseCheck/ - DISCLAIMER is correct, filenames include “incubating”
- The top level LICENSE and NOTICE files are correct and dependency licenses are acceptable
- LICENSE and NOTICE files at the root of the artifact directory must only reflect the contents of the artifact in which they are contained.
- Any new dependency with a non-ASF license must be added to the top level LICENSE file as directed in the links below.
- All source files have license headers where appropriate.
- The provenance of all source files is clear (ASF or software grants)
- Refer to the following Links
- MXNet Source Licenses
- LICENSE file requirements
- LICENSE requirements for distribution artifacts with multiple licenses
- NOTICE file requirements (Check Copyright year) - see also https://www.apache.org/legal/src-headers.html
- Apache Legal
- Acceptable and Unacceptable Dependency Licenses
Step 1.4. Make code changes with necessary version updates
At least 3 days prior to cutting the first release candidate, bump up the version number and address other changes that the release depends on.
- Bump up the version number. An example can be followed here: https://github.com/apache/incubator-mxnet/pull/6462, update https://github.com/apache/incubator-mxnet/blob/master/setup-utils/install-mxnet-osx-python.sh#L36
More recent example - https://github.com/apache/incubator-mxnet/pull/8567
make sure no broken/non-existing links are added to the master branch. - Bump up the version number. An example can be followed here: https://github.com/apache/incubator-mxnet/pull/6462, update https://github.com/apache/incubator-mxnet/blob/master/setup-utils/install-mxnet-osx-python.sh#L36
More recent example - https://github.com/apache/incubator-mxnet/pull/8567
make sure no broken/non-existing links are added to the master branch. Create a RSA GPG key of length 4096, upload it to the public server, and add it to the KEYS file (do this process once for each release lead): https://github.com/apache/incubator-mxnet/blob/master/KEYS & https://dist.apache.org/repos/dist/dev/incubator/mxnet/KEYS See more detailed instructions on creating the key here: https://www.apache.org/dev/openpgp.html#generate-key. Instructions for updating the KEYS file can be found here: https://github.com/apache/incubator-mxnet/blob/master/KEYS#L9-L13. Note that you must use apache email instead of personal email for the key.
Code Block language bash title Adding Keys # checkout the apache mxnet repo svn co https://dist.apache.org/repos/dist/dev/incubator/mxnet apache-mxnet cd apache-mxnet # update the KEYS file ... # commit the update svn commit -m “update keys file for xxx ” --username your_username --password your_passwd
- Bump up the version number. An example can be followed here: https://github.com/apache/incubator-mxnet/pull/6462, update https://github.com/apache/incubator-mxnet/blob/master/setup-utils/install-mxnet-osx-python.sh#L36
...
- PGP signatures and SHA256/MD5 checksum verification -
Code Block |
---|
svn co https://dist.apache.org/repos/dist/dev/incubator/mxnet && cd mxnet/#.#.#.rc0
brew install gpg coreutils
gpg --import ../KEYS |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
gpg --verify ./apache-mxnet-src-0.11.0.rc3-incubating.tar.gz.asc
gsha512sum --check ./apache-mxnet-src-0.11.0.rc1-incubating.tar.gz.sha512
gmd5sum --check ./apache-mxnet-src-0.11.0.rc3-incubating.tar.gz.md5 |
- Test that a build is successful - spinning up a deep learning Ubuntu AMI will give you an environment with all dependencies to build. A `make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1` should do.
- DISCLAIMER is correct, filenames include “incubating”
- LICENSE and NOTICE files are correct and dependency licenses are acceptable
- LICENSE and NOTICE files at the root of the artifact directory must only reflect the contents of the artifact in which they are contained.
- See:
https://dist.apache.org/repos/dist/dev/incubator/mxnet && cd mxnet/#.#.#.rc0
brew install gpg coreutils
gpg --import ../KEYS |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
gpg --verify ./apache-mxnet-src-0.11.0.rc3-incubating.tar.gz.asc
gsha512sum --check ./apache-mxnet-src-0.11.0.rc1-incubating.tar.gz.sha512
gmd5sum --check ./apache-mxnet-src-0.11.0.rc3-incubating.tar.gz.md5 |
- Test that a build is successful - spinning up a deep learning Ubuntu AMI will give you an environment with all dependencies to build. A `make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1` should do.
- LICENSE file requirements
- LICENSE requirements for distribution artifacts with multiple licenses
- NOTICE file requirements (Check Copyright year) - see also https://www.apache.org/legal/src-headers.html
- Apache Legal
- Acceptable and Unacceptable Dependency Licenses
- All source files have license headers where appropriate, RAT checks pass - TODO - add instructions - see https://creadur.apache.org/rat/
- The provenance of all source files is clear (ASF or software grants)
2. Running the voting process for a release:
...