Tag the release:
svn move https://svn.apache.org/repos/asf/avro/tags/release-X.Y.Z-rcR \ https://svn.apache.org/repos/asf/avro/tags/release-X.Y.Z -m "Avro X.Y.Z release."
Copy release files to the release repository.
svn copy https://dist.apache.org/repos/dist/dev/avro/avro-X.Y.Z-rcR \ https://dist.apache.org/repos/dist/release/avro/avro-X.Y.Z -m "Avro X.Y.Z release."
The release directory usually contains just two releases, the most recent from two branches, with a link named 'stable' to the most recent recommended version.
svn co https://dist.apache.org/repos/dist/release/avro/ avro-release-dist cd avro-release-dist svn rm avro-A.B.C; rm stable ln -s avro-X.Y.Z stable svn commit -m "Avro X.Y.Z release."
- Publish Java artifacts to the Maven repository:
Find the Staging Repository and release it.
mkdir -p tmp/py cd tmp/py tar xzf ../../dist/py/avro-X.Y.X.tar.gz cd avro-X.Y.Z python setup.py sdist upload
Publish Python3 artifacts to PyPI.
mkdir -p tmp/py3 cd tmp/py3 tar xvf ../../dist/py3/avro-python3-X.Y.Z.tar.gz cd avro-python3-X-Y-Z python3 ./setup.py sdist upload
Publish Ruby artifacts to RubyGems. Again, you'll need an account and you need to be an owner.
gem push dist/ruby/avro-X.Y.Z.gem
npm publish dist/js/avro-js-X.Y.Z.tgz
- Wait 24 hours for release to propagate to mirrors.
Prepare to edit the website.
svn co https://svn.apache.org/repos/asf/avro/site
- Update the documentation links in
- Update the release news in
Regenerate the site, review it, then commit it. Note that Forrest 0.9 is easiest (not currently in the Docker image), since it doesn't require Java 5.
cd site ant firefox publish/index.html svn commit -m "Updated site for release X.Y.Z."
Copy the new release docs to website and update the
tar xzf dist/avro-doc-X.Y.Z.tar.gz mv avro-doc-X.Y.Z ../site/publish/docs/X.Y.Z cd ../site/publish svn add X.Y.Z rm current ln -s X.Y.Z current svn commit -m "Adding documentation for release X.Y.Z."
- Send announcements to the user and developer lists once the site changes are visible.
- Update the version number in
share/VERSION.txtto be ''avro-X.Y.N-SNAPSHOT'', where ''N'' is one greater than the release just made.
Update the version in the Maven POM files to match with
mvn versions:set -DnewVersion=X.Y.N-SNAPSHOT -DgenerateBackupPoms=false
- In Jira, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.
- In Jira, "release" the version. Visit the "Administer Project" page, then the "Manage versions" page. You need to have the "Admin" role in Avro's Jira for this step and the next.
- In Jira, close issues resolved in the release. Disable mail notifications for this bulk change.