...
- Ensure your local 'develop' branch is up-to-date
Make sure that the path that the source is checked out to does not contain spaces. Create a new remote 'release' branch
Code Block git checkout -b releaseX.Y.Z git push -u origin releaseX.Y.Z
Another RM originally suggested using the below command instead, but that caused the develop branch to track the release branch and made merging more confusing later
Code Block git push -u origin develop:releaseX.Y.Z
Create a new directory, change to it and check out the develop branch.
Code Block git clone https://git-wip-us.apache.org/repos/asf/flex-sdk.git .
Checkout the new release branch with:
Code Block git checkout releaseX.Y.Z
Most of the rest of these steps have been placed in an Ant script so you can run one script and not have to keep referring back to these steps and worry about typing the commands correctly. See Release Manager and Release Voter Ant Scripts for details on the scripts
Tag the release
Code Block git tag -a apache-flex-sdk-X.Y.ZRCx -m 'Apache Flex X.Y.Z RCx' git push --tags
...
Code Block |
---|
tag_release.sh X.Y.Z |
Merging back into develop and
...
master
If the release produces Maven artifacts, it is best to merge to master first, then update Maven versions, then merge to To merge the released code back into the develop branch.
Check out the develop branch
Code Block git checkout developmaster git pull
Test merging the release branch into the develop master branch
Code Block git merge --no-commit --no-ff releaseX.Y.Z
If no issues merge the release branch into the develop master branch
Code Block git merge --no-ff releaseX.Y.Z
Check merged changes back into the remote develop master branch
Code Block git push
Change the maven version and delete the backup files
Code Block mvn versions:set -DnewVersion=X.Y.(Z+1)-SNAPSHOT find . -name *.versionsBackup -delete
Commit it
Code Block git add . git commit -m "update maven versions to next version"
To merge the released code back into the master branch, repeat the above steps using 'masterdevelop' instead of 'develop'master'. Also update the build.properties that have the latest version number in most of our repos, and update version numbers the sdk-installer-config-4.0.xml file that the Installer uses for the nightly builds.
Promoting the Release
- Publish the release. Use svn mover or copy to copy the release to https://dist.apache.org/repos/dist/release/flex.
- Only remove the previous version once the mirrors have caught up (24 hours) and after the installer is updated to use the new release.
- Update JIRA. Go to the Admin section on the Flex JIRA and mark Flex X.Y.Z as released. Create the next version if that has not already been done. You may need the help of a JIRA administrator to do this.
- Update the installer configuration.
- Update Flex web site were required:
- Update and publish the doap_Flex.rdf file
- Send separate [ANNOUNCEMENT] emails using your apache.org email address, preferably signing the email with the same KEY you used to sign the release. Note: Thunderbird with Enigmail for OpenPGP seems to be the easiest to configure on the Mac. AppleMail with GPGMail is another alternative. If you are not subscribed to a list with your apache address your email the email has to be accepted by the moderator of the list before it will get posted. Make sure the email is plain text and not HTML or it may be marked as spam and rejected.
- users@flex.a.o
- dev@flex.a.o
- announce@a.o
- Update the Apache Flex home page and the Apache Flex blog with the news. Encourage people to tweet about the release.
- Update the Flex version number to be the next likely version in the code - (build.properties, many Version.as files, FlexVersion.as, MxmlConfiguration.java, VersionInfo.java). Use build/set-version.xml. See header for usage.
...