Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
titleUploading to dist
# Checkout the Apache directory in Apache distribution SVN "dev" repo
$ svn co https://dist.apache.org/repos/dist/dev/incubator/mxnet
# select p
# Make directory for this RC in the above directory
$ cd mxnet
$ mkdir #.#.#.rc0
# Move artifacts into this folder
$ cp ../apache-mxnet-src-#.#.#.rc0-incubating.tar.gz* #.#.#.rc0
$ svn add #.#.#.rc0
$ svn commit -m "Add mxnet-#.#.#.rc0" --username "lxn2"

Step 1.10. Validate release package (Committer or

...

Contributor)

As per the Apache documentation, verify that the release candidate artifacts satisfy the following:

...

Code Block
languagebash
firstline1
titlevalidate the signatures
linenumberstrue
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

 

Step 1.11. Test the final release package (Committer or

...

Contributor)

    • Download the package that was just uploaded to svn as above. 
    • 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.
    • if Possible, run a simple (mnist) test to verify the src.

Step 1.12. Upload the release artifacts to Github release tag

    • Edit the release tag from Step 1.7, and upload the release artifacts from Step 1.9 (which were verified in 1.10-1.11).

Step 1.13. Build Scala Packages 

Follow the release process to build Scala packages and include the stage repo links in the voting email.

...

For the dev@ vote, there must be at least 3 +1 votes and more +1 votes than -1 votes. Once that quorum has been reached, the vote then moves onto the general@ vote, where anyone can contribute a vote, but only MXNet PMC votes are binding. To pass, there must be 3 +1 PMC votes and more +1 votes than -1 votes. Send out a notice to vote.

EMAIL TEMPLATE: OPENING A VOTE TO DEV@

To: dev@mxnet.apache.org
Subject: [VOTE] Release MXNet version 0.11.0.RC#
 
This is the vote to release Apache MXNet (incubating) version 0.11.0. Voting will start now and close $utc_now+72.
Link to release notes: <Link>
Link to release candidate 0.11.0.rc0: <Link>
Link to scala packages on the staging repo: <Link>

 

Please remember to TEST first before voting accordingly:
+1 = approve
+0 = no opinion
-1 = disapprove (provide reason)

 

Step 2.2. Send out the Vote Results on dev@

EMAIL TEMPLATE: VOTING RESULTS

 
To: dev@mxnet.apache.org
Subject: [RESULTS] [VOTE] Release MXNet version 0.11.0.RC#
 
This vote passes with 7 +1 votes (3 bindings) and no 0 or -1 votes.
+1 votes
PMC Members:
* $Name
* $Name 
* $Name
 
Committers:
* $Name
* $Name
 
Community:
* $Name
* $Name
 
0 votes
* No votes
 
-1 votes
* No votes
 
Vote thread:
https://lists.apache.org/list.html?commits@mxnet.apache.org/
I'll continue with the release process and the release announcement will follow in the next few days.

Step2.3. Triage issues and revote if necessary 

Should any vote fail to reach quorum or release lead determines that another RC needs to go out, the release lead should triage the issues, create GitHub issues, and move to fix the issues. Once fixed, make changes to NEWS & README.md in case it specifically lists the old RC# number. Start the process for another release candidate. In the new voting email, detail what has changed since the last release candidate. Repeat until the vote passes.

 

EMAIL TEMPLATE: CANCEL A VOTE

To: dev@mxnet.apache.org
Subject: [CANCELLED] [VOTE] Release MXNet version 0.11.0.RC#
    We are CANCELLING this vote because...
    We will address this issue and send out RC#+1 for another vote.

 

Step 2.4. Start a vote on general@

To get the fingerprint of your keys, run `gpg2 --list-keys --fingerprint`

EMAIL TEMPLATE: OPEN A VOTE TO GENERAL@

This is a call for a releasing Apache MXNet (incubating) #.#.#, release
candidate #.

Apache MXNet (incubating) community has voted and approved the release.

Vote thread:
https://lists.apache.org/#######

Result thread:
https://lists.apache.org/#########

The source tarball, including signatures, digests, etc. can be found at:
https://dist.apache.org/repos/dist/dev/incubator/mxnet/########

The tag to be voted upon is v0.2.0-incubating-rc3:
<link>

The release hash is #########:
<link>

Release artifacts are signed with the following key:
<link/fingerprint>

KEYS file available:
<link>

For information about the contents of this release, see:
<link to release notes>

The vote will be open for 72 hours.

[ ] +1 Release this package as 0.1.0
[ ] +0 no opinion
[ ] -1 Do not release this package because...

 

3. Finalizing and posting a release:

...

    1. Add the new installation version on the install page: 
      1. Set the new version to be default. See this example: docs/_static/js/options.js.
      2. Add the option and all of the new selector classes. See this example: docs/install/index.md.
    2. Add news about the new release. See this example: docs/_static/mxnet-theme/index.html.
    3. Add download links to the install archives. See this example: docs/install/download.md.
    4. Update the pip package table: http://mxnet.incubator.apache.org/install/ubuntu_setup.html
    5. Go to http://jenkins.mxnet-ci.amazon-ml.com/and find job “restricted-website-build”. Login if you're not already.
    6. Click Configure and look for the section with the String Parameters.
    7. Tags to build
      1. If this is a minor release, the branch should already be in the first parameter "tags_to_build".
      2. If this is a major release, you will need to add the branch to the list in the Default Value field. Note these are semicolon separated values.
    8. Tag list
      1. If this is a minor release, you will want to bump the version up for the branch you're updating. Example: change 1.2.0 to 1.2.1.
      2. If this is a major release, you will need to add the new version number to the list. Example: add 1.3.0. Note these are semicolon separated values.
    9. Click Save.
    10. Click “Build with Parameters”, verify that the settings you just updated look correct, then click Build. 
    11. The docs will be published to http://mxnet.incubator.apache.org/. There can be a delay due to some edge caching with Apache infra. The restricted-website-build job also runs four times a day.

...

Send an email to announce@apache.orggeneral@incubator.apache.org, and dev@mxnet.incubator.apache.org with the subject: [ANNOUNCE] Apache MXNet <release number> Release and a body along the lines of:

 

 

 

subject: [ANNOUNCE] Apache MXNet 0.11.0 Release

 

The Apache MXNet community is happy to announce Apache MXNet version 0.11.0! We hit some major milestones with this release!

This is our first official release as an incubating Apache project. The project has now fully migrated its codebase and website to Apache. 

This release includes code contributions from developers from Apple, Samsung, Microsoft and many other.

We have also crossed over 400 contributors on the project so far. The 0.11.0 release features Apple Core ML model converter, Support for Keras v1.2.2.

 

ADD A DESCRIPTION! - A Flexible and Efficient Library for Deep Learning

 

A blog that explains an end to end use case of building an ios app using MXNet and Core ML:

https://aws.amazon.com/blogs/ai/bring-machine-learning-to-ios-apps-using-apache-mxnet-and-apple-core-ml/

 

The AWS blog that highlights the key features of the release: 

https://aws.amazon.com/blogs/ai/apple-core-ml-and-keras-support-now-available-for-apache-mxnet/

 

A full list of the changes in this release can be found in the release notes: 

https://cwiki.apache.org/confluence/display/MXNET/MXNet+0.11.0+Release+Notes

 

Link to Download: http://www.apache.org/dist/incubator/mxnet/

 

To build this project, view this page and select “Build from Source”:

http://mxnet.incubator.apache.org/get_started/install.html

 

The Docker Images can be found here:

https://hub.docker.com/u/mxnet/

 

The Pip package can be found here:

https://pypi.python.org/pypi/mxnet

 

The Release Tag is here:

https://github.com/apache/incubator-mxnet/tree/0.11.0

 

MXNet Resources

   - Issues: https://github.com/apache/incubator-mxnet/issues

   - Wiki: https://cwiki.apache.org/confluence/display/MXNET

   - Mailing list(s): dev@mxnet.incubator.apache.org 

 

For more information on Apache MXNet, please see:

https://mxnet.incubator.apache.org/ 

 

Thanks!

Apache MXNet(incubating) Team

_______

 

DISCLAIMER:

Apache MXNet (incubating) is an effort undergoing incubation at The

Apache Software Foundation (ASF), sponsored by the name of Apache

Incubator PMC. Incubation is required of all newly accepted

projects until a further review indicates that the

infrastructure, communications, and decision making process have

stabilized in a manner consistent with other successful ASF

projects. While incubation status is not necessarily a reflection

of the completeness or stability of the code, it does indicate

that the project has yet to be fully endorsed by the ASF.

 

 
 
 

3.7. Bump up the versions on the master  

...

In case you need to update this list, edit the original spreadsheet

Task #TaskOwnerRelative DateAbsolute Date
 PreReqs for Release Start:PM  
1Finalize the Release DatePMT-15 
2High Level List of Features and artifact specsPMT-15 
3Prepare Release Notes - draft 1PMT-15 
4Inform the communityReleaseLeadT-15 
5PR to update the Website into master/RBWebsiteLeadT-14 
6PR to update the Docs into master/RBDocsLeadT-14 
7PR to update the versions into master/RBReleaseLeadT-14 
8Validate License Headers and top Level LICENSE fileReleaseLeadT-14 
9Validate/update submodulesReleaseLeadT-14 
10Stabilize the code for CI to passReleaseLeadT-14 
11Merge all necessary PRs into masterCommunityT-13 
     
12Code Freeze and Release Start: Cut the Release BranchReleaseLeadT-10 
13Finalize the Release Notes based on PRs that got in - final draftPMT-10 
14PR to update the NEWS and README into the RBReleaseLeadT-9 
15Validate the docs build locally by checking release-specific docs like pip install, etc.DocsLeadT-9 
16Test part 1: Run the unit Tests on the Release BranchReleaseLeadT-8 
17Test part 2: Run the Nightly TestsReleaseLeadT-8 
18Create the Github Tag for the rc0ReleaseLeadT-7 
19Create the src tar and sign, Upload the src tarReleaseLeadT-7 
20Validate the signaturesRelease LeadT-7 
21Clone svn repo and do a manual testRelease LeadT-7 
     
 Begin Apache VotingReleaseLeadT-7 
22Start the vote on dev@ReleaseLead  
23Send out the results of the vote on dev@ReleaseLeadT-4 
24Revote if necessary (Steps 15-22)ReleaseLeadNot Accounted For 
25Start the vote on general@ReleaseLeadT-4 
26Send out the results of the vote on general@ReleaseLeadT-1 
 End Apache Voting   
     
27Create the final release tag on githubReleaseLeadT-1 
28Rename, resign and upload the src tar to final dirReleaseLeadT-1 
29Update the website using tagWebsite LeadT-1 
30Release the official pip packagepip LeadT-1 
31Release the official docker imagesDocker LeadT-1 
32After 24 hrs, validate the packages are uploadedRelease LeadT 
33Draft the offical announce email and reviewRelease LeadT-1 
34Send out the email on announce@Release LeadT 
35Update the apache blogRelease LeadT 
36update the aws blogPMT 
37send internal announcementPMT 
38Update the version on masterRelease LeadT 

Notes for reference

*NOTES FROM DOCS FOR REFERENCE:*
http://incubator.apache.org/guides/releasemanagement.html

   - 3 +1 votes from IPMC members (these are the votes that count but we
   should open up to the whole podling community)
   - For podlings, 2 additional constraints:
   - Release artifacts must include “incubating” in final file name (ex:
      apache-mxnet-src-0.10.1-incubating.tar.gz)
   - Release artifacts must include disclaimer in the release artifacts


   - The Incubator PMC expects the source releases to be staged on
   https://dist.apache.org/repos/dist/dev/incubator/podlingName so that
   they can easily be moved to the release location via svn mv   (
   http://www.apache.org/dist/incubator/)
   - After graduating, RC’s go into https://dist.apache.org/repos/dist/dev/
   and official releases go into https://dist.apache.org/repos/dist/release/


http://incubator.apache.org/guides/branding.html#disclaimers

   - Apache Press Team [http://www.apache.org/press/index.html#whoweare]
   must review and coordinate releases for branding
   - On website and in release DISCLAIMER file:
   - Apache Podling-Name is an effort undergoing incubation at The Apache
      Software Foundation (ASF), sponsored by the name of Apache TLP sponsor.
      Incubation is required of all newly accepted projects until a further
      review indicates that the infrastructure, communications, and decision
      making process have stabilized in a manner consistent with other
successful
      ASF projects. While incubation status is not necessarily a reflection of
      the completeness or stability of the code, it does indicate that the
      project has yet to be fully endorsed by the ASF.
      - Website should include Apache Incubator logo:
      http://incubator.apache.org/guides/press-kit.html


   - Release should include:
      - DISCLAIMER
      - LICENSE
      - NOTICE - attribution notices


http://www.apache.org/legal/release-policy.html

   - A release must contain source package which is cryptographically
   signed by Release lead with detached signature. It must be tested prior
   to voting for release.
   - Release must only contain appropriately licensed code
   - Please ensure you wait >=24 hours after uploading a release before
   making announcements so mirrors catch up
   - Releases of more than 1GB of artifacts require a heads-up to
   Infrastructure in advance.
   - Which directory for what build?
   http://www.apache.org/legal/release-policy.html#build-directories


http://www.apache.org/dev/release-distribution.html

   - Artifacts MUST be accompanied by:
      - apache-mxnet-src-0.10.1-incubating.asc - contains OpenPGP
      compatible ASCII armored detached signature
      - apache-mxnet-src-0.10.1-incubating.md5 - MD5 checksum
      - apache-mxnet-src-0.10.1-incubating.sha - SHA checksum (SHOULD)
   - Publish KEYS file in distribution directory root
      - Signing keys MUST be published in KEYS file, SHOULD be available in
      global public keyserver
      http://www.apache.org/dev/release-signing#keyserver, SHOULD be linked
      into web of trust
      - Keys MUST be RSA & 4096 bits


http://www.apache.org/dev/release-publishing.html

   - Apache RAT can assist in checking license compliance
   http://creadur.apache.org/rat/
   - Eventually we should set up a build system to sign our releases with
   cryptographic signatures. For now we’ll do it manually.


http://www.apache.org/dev/release-signing.html

   - Create a signature and sign releases as mentioned above

...