...
- You have setup your own public OpenGPG key signature for signing the distribution
- You can login to Nexus
- You have a Git workspace for clone of https://git-wip-us.apache.org/repos/asf/tapestry-5.git (Tapestry source code project)
- You have a Subversion workspace for Subversion checkout of https://dist.apache.org/repos/dist/dev/tapestry (dev archives workspaceartifact archive)
- You have a Subversion workspace for checkout of https://dist.apache.org/repos/dist/release/tapestry (release archives workspaceartifact archive)
- You have a Subversion workspace for checkout of https://svn.apache.org/repos/infra/websites/production/tapestry/content (site content workspace)
GIT and Deployment Credentials
...
You can find your keyId using gpg --list-keys
.
The apacheArchivesFolder should be You should set apacheArchivesFolder to the full path to of your dev archives workspacelocal dev artifact archives directory (see above). The build will copy files to this folder; see further notes below.
Release Steps
1. Generate the Release
- Update your workspace to In your Tapestry source code project directory, switch to the release branch
- For current work, the release branch is master
- When creating bug fix releases for older releases, the branch will match the release, e.g., 5.3
- Run the build using
gradle generateRelease
- This will create, sign, and upload JAR files and other artifacts to the Nexus repository
- It will also create, sign, and copy the source, binary, and documentation archives to your dev archives workspace dev artifact archive directory
- Tag the release in Git, then push the changes up to the Apache repository:
git tag 5.x
git push --tags
- Login to Nexus and close the automatically created staging repository
...
- The build will have copied archive files to your dist workspace dev artifact archive directory.
svn add
the new filessvn commit
to copy the files up to Apache (this is slow)- Use the full version number as the commit message, e.g., 5.4-beta-26
- You can verify the files via the web: https://dist.apache.org/repos/dist/dev/tapestry
...
- Use the Manage Versions page in JIRA to add a new version (this is often not necessary as it is often created by someone earlier)if not already created).
- Release the version, moving outstanding issues to the next version.
- Generate HTML Release Notes
- Visit the TAP5 Versions pages in JIRA
- Choose the correct version number
- Click "Release Notes" (upper right corner of the page)
- Create a new Confluence child page of Release Process Notes (it may already exist)
- Update with text about any unusual aspects of the upgrade (especially, non-backwards compatible changes)
- Paste the HTML release notes content into the new page (you'll have to use the {html} macro)
- Rename the "Bug" heading to "Bugs Fixed", "Improvement" to "Improvements Made", "New Feature" to "New Features Added"
- Update Release Process index Notes index page to point to the new page
...
- Copy the release archives files (including checksums and GPG signatures) to the your release artifact archives workspace directory
- Change to the release archives workspace
svn add
and andsvn commit
, as with the dev archives workspace
...
- Update the release number listed in the following pages in the Confluence wiki:
- Release Process
- Download page
- (Optional) Tutorial Release Process Tutorial Creating The Skeleton Application page: Tapestry version number in the archetype
- (Optional) Release Process Getting Started page: Tapestry version number in the archetype
- Change Switch to the site content workspaceSVN project.
svn update
to get any recent changes.- Edit
archetype-catalog.xml
to add or update a new entry for the release - Update Edit the doap.rdf file with the release number and date inside
doap.rdf
(this is a description file for the project). svn commit
11. Blog & Tweet
...