...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
git clone git@github.com:apache/incubator-mxnet.git --recursive apache-mxnet-src-0.11.0.rc3-incubating git checkout v0.11.0 git submodule update --init --recursive git checkout 0.11.0.rc3 rm -rf R-package/* rm -rf R-package rm -rf .DS_Store rm -rf .git* brew install gnu-tar gtar -czvf apache-mxnet-src-0.11.0.rc3-incubating.tar.gz apache-mxnet-src-0.11.0.rc3-incubating |
b) apache-mxnet-src-#.#.#.rc0-incubating.tar.gz.asc:
...
Code Block | ||||
---|---|---|---|---|
| ||||
gpg --armor --output apache-mxnet-src-0.11.0-incubating.tar.gz.asc --detach-sig apache-mxnet-src-0.11.0-incubating.tar.gz md5 apache-mxnet-src-0.11.0-incubating.tar.gz > apache-mxnet-src-0.11.0-incubating.tar.gz.md5 shasum -a 512 apache-mxnet-src-0.11.0-incubating.tar.gz > apache-mxnet-src-0.11.0-incubating.tar.gz.sha512 |
e) Create a folder for this RC in the dist folder: 0.11.0-incubating.RC0 folder
...
As per the Apache documentation, verify that the release candidate artifacts satisfy the following:
- 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
...
3. Finalizing and posting a release:
1.
...
Marking &
...
Publishing the
...
Official release
Once the release candidate passes the vote, we draft the official release on GitHub and rename the release candidate as the official release.
Step 1: Draft official release on GitHub:
- Go to the GitHub repo’s “releases” tab
- Click “Draft a new release”
- Provide the release tag in the form of “v#.#.#”
- Select the commit by clicking Target: master > the passing release candidate tag
- Copy and paste NEWS change into the description box
Step 2: Download the nightly pip build, rename, and publish:
- TODO
Rename and publish the source package:
This was done as follows in 0.11.0. In the future use the automated pipeline -
- Update the tag in the tool.sh file or select the correct tag in the Jenkins Job
- Select the correct Repo name = mxnet
- Trigger the Job with IS_PUBLISH=false
- Login to the slave and test each image for correct version by checking logs and/or Readme.
- Manually upload the 20 images that are built.
Step 3: Rename and publish the source package:
First upload to dev and then move to releases as follows
#create a directory under releases - https://httpd.apache.org/dev/release.html
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tar -zxvf apache-mxnet-src-0.11.0.rc3-incubating.tar.gz mv apache-mxnet-src-0.11.0.rc3-incubating apache-mxnet-src-0.11.0-incubating gtar -czvf apache-mxnet-src-0.11.0.rc3-incubating.tar.gz mv apache-mxnet-src-0.11.0-incubating #create a directory under releases or dist/incubator ? - https://httpd.apache.org/dev/release.html svn mv https://dist.apache.org/repos/dist/dev/incubator/mxnet/0.11.0.rc3/ http://www.apache.org/dist/incubator/mxnet/mxnet-#.#.#.rc0 |
TODO
# Move the sub-directory in "dev" to the
# corresponding directory in "release"
$ export SVN_EDITOR=vim
...
-incubating apache-mxnet-src-0.11.0-incubating gtar -czvf apache-mxnet-src-0.11.0-incubating.tar.gz apache-mxnet-src-0.11.0-incubating svn mv https://dist.apache.org/repos/dist/dev/incubator/mxnet/ |
...
0. |
...
11.0/ http://www.apache.org/dist/incubator/mxnet/mxnet-#.#.# |
...
Step 4: Build, test, and publish the Docker images:
TODO
Step 5: Verify the resources are uploaded
Check that the resources are present in http://www.apache.org/dist/incubator/mxnet. It may take a while for them to be visible. This will be mirrored throughout the Apache network. There are a few remaining steps.
Step 6: Test
...
Test multinode and multi gpu (kvstore=1)
2.
...
Update the MXNet website
Now that a new version has been drafted on GitHub with source and pip packages published, we need to update the MXNet website. Go to builds.apache.org and find job “incubator-mxnet-build-site”. Click “Build with Parameters”, select the release tag, and build. The docs will be published to incubator.mxnet.apache.org.
...
- TODO: link to Apache mirror source, pgp, sha, md5
3.
...
Announce the release
Once everything is working (website docs, website changes, 24 hours after upload) create an announcement on the website and then send an e-mail to the mailing list. http://www.apache.org/legal/release-policy.html#release-announcements
...