...
Check out release branch
Code Block git checkout branch-1.2.0
Create tag on this commit to identify precise point where the RC was generated and push this tag to main repository
Code Block git tag -a release-1.2.0 -m "Sentry 1.2.0 incubating release" git push origin release-1.2.0
If an rc1, rc2, etc is needed, delete that tag before creating a new one:
Code Block git tag -d release-1.2.0 git push origin :refs/tags/release-1.2.0
Create temporary directory where you'll be preparing all required artifacts
Code Block mkdir -p /tmp/sentry-release-preparations
Create source artifact and move it to your temporary directory (TODO: git archive?)
Code Block mvngit clean verify package mv sentry-dist/target/archive --format=tar --prefix=apache-sentry-1.2.0-incubating-src.tar.gz/ HEAD | gzip > /tmp/sentry-release-preparations/apache-sentry-1.2.0-incubating.tar.gz
Sanity Check
Check out the candidate
Code Block git checkout release-X.Y.Z
Generate a tarball
Code Block mvn clean install -DskipTests
Unpack the source tarball
Code Block cd sentry-dist/target rm -rf ./apache-sentry-1.2.0-incubating-src tar xzvf apache-sentry-1.2.0-incubating-src.tar.gz
Do another full build inside the source tarball. This time, allow all unit tests & integration tests to run and also include the docs
Code Block cd apache-sentry-1.2.0-incubating-src mvn test
...