...
We have two directories here:
- https://dist.apache.org/repos/dist/release/incubator/flagon - This is where PMC approved releases go. DO NOT UPLOAD here until we have a vote passed on dev@flagon... . Check out this folder and name it
apache-dist-release-flagon
. https://dist.apache.org/repos/dist/dev/incubator/flagon - this is where releases to be voted on go. Make the release artifact, post it here, and then post to the [VOTE] thread internally with the flagon community and over the general @incubator community. Check out this folder and name it
apache-dist-dev-flagon
.
...
The release utility scripts reside within the release subdirectory.
The release script scripts will:
- Prepare a staging directory for the source code release
- Create .tar.gz and .zip artifacts of the source code
- Invoke npm to build the source code (including running unit tests), and deploy artifacts to a NPM remote repository
- Save the .tar.gz and .zip artifacts produced by the build of
incubator-flagon/release/make-release-artifacts.sh
- For each of the produced files, produce SHA512 and GnuPG signatures
...
The script takes a -n
parameter to work in dry run mode; in this mode, the script will NOT upload NPM artifacts or commit the release to the Subversion repository. This speeds up the process (the NPM deploy in particular slows down the build) and will catch any problems such as PGP or mocha problems much sooner.ONLY create a local copy of release artifacts in the /release folder. It will NOT stage release artifacts to be checked into the staging area.
Code Block |
---|
# A dry run to |
Code Block |
# A dry run to test everything is OK
$ ./incubator-flagon/release/make-release-artifacts.sh -r $RC_NUMBER -n
# The real build, which will publish artifacts
$ ./incubator-flagon/release/make-release-artifacts.sh -r $RC_NUMBER |
Once this has completed,
...
you will need to check-in the release artifacts into the staging environement.
Push the source release artifacts and signatures to dist
...
...
as described below.
Check out
Push the source release artifacts and signatures to dist.apache.org as described below.
Check out flagon release staging area. The artifacts we push to this area are the ones we make available on official
...
Next, progress to the creation of the VOTE thread as below....
Verify the release artifacts
TBD
Verify the release artifacts
At minimum you should do a few things to test code that will be available at release:
- Check the signatures generated by release artifacts: GPG and GPG Keychain provide tools to test .asc signatures and verify that your signing key matches your private key.
- Check the src builds: Create copies of src.tar and/or src.zip files, and initiate the NPM build and test scripts. Make sure they pass.
- Check the bin artifacts: Use the UserALE.js example server and point our index.html test page at the minified UserALE.js scripts to ensure that you're generating logs.
Publish to the staging area
Make a signed tag for this release candidate:
Code Block |
---|
$ git tag -a $(VERSION NUMBER) -s -m "Tag release ${VERSION_NAME} release candidate ${RC_NUMBER}" rel/apache-flagon-useralejs-incubating-${VERSION_NAME}-rc${RC_NUMBER} $ git show tag $(VERSION NUMBER) |
Now push the release branch and release candidate tag:
Prepare the VOTE thread based on the artifacts
...
IT IS ABSOLUTELY ESSENTIAL THAT YOU KEEP THE LOCAL RELEASE COPY !!!!
...
Send out the RESULT thread
...