...
Now, add your Apache GPG key to the Flink’s KEYS
file in the release
repository at dist.apache.org
. Follow the instructions listed at the top of these files. (Note: Only PMC members have write access to the release repository. If you end up getting 403 errors ask on the mailing list for assistance.) PMC member can refer following scripts to add your Apache GPG key to the KEYS in the release repository.
Code Block | ||
---|---|---|
| ||
svn co https://dist.apache.org/repos/dist/release/flink flink-dist-release-repo
cd flink-dist-release-repo
(gpg --list-sigs <YOUR_KEY_ID> && gpg --armor --export <YOUR_KEY_ID>) >> KEYS
svn ci -m "[flink] Add <YOUR_NAME>'s public key" |
Configure git
to use this key when signing code by giving it your key ID, as follows:
...
Code Block | ||
---|---|---|
| ||
RELEASE_VERSION="2.0.0"
SHORT_RELEASE_VERSION="2.0"
CURRENT_SNAPSHOT_VERSION="$SHORT_RELEASE_VERSION-SNAPSHOT"
NEXT_SNAPSHOT_VERSION="2.1-SNAPSHOT"
SHORT_NEXT_SNAPSHOT_VERSION="2.1"
SUPPORTED_FLINK_VERSIONS="1.15,1.16,1.17" |
If you are doing a new major/minor release (e.g. 2.0.0, 2.1.0), check out the version of the codebase from which you start the release. This may be HEAD
of the master
branch. Create a branch for the new version that we want to release before updating the master branch to the next development version:
...
Code Block | ||
---|---|---|
| ||
$ OLD_VERSION=$CURRENT_SNAPSHOT_VERSION NEW_VERSION=$RELEASE_VERSION tools/releasing/update_branch_version.sh $ RELEASE_VERSION=$RELEASE_VERSION tools/releasing/create_source_release.sh |
Note: Please manually update the Flink version used in archetypeVersion in build-your-own-project.md and quick-start.md as appropriate.
Next, we build the Python artifacts:
...
Finally, we stage the maven artifacts:
Code Block | ||
---|---|---|
| ||
$ SUPPORTED_FLINK_VERSIONS=$SUPPORTED_FLINK_VERSIONS$ tools/releasing/deploy_staging_jars.sh |
...
If you have not already, check out the Flink section of the
dev
repository ondist.apache.org
via Subversion. In a fresh directory:Code Block language bash svn checkout https://dist.apache.org/repos/dist/dev/flink --depth=immediates
Make a directory for the new release:
Code Block language bash mkdir flink/flink-ml-${RELEASE_VERSION}-rc${RC_NUM}
Copy all release distributions, hashes, and GPG signature:
Code Block mv <flink-ml-dir>/release/* flink/flink-ml-${RELEASE_VERSION}-rc${RC_NUM}
Add and commit all the files.
Verify that files are presentCode Block language bash cd flink svn add flink-ml-${RELEASE_VERSION}-rc${RC_NUM} svn commit -m "Apache Flink ML, version ${RELEASE_VERSION}, release candidate ${RC_NUM}"
}, release candidate ${RC_NUM}"
Verify that files are present
Update apache/infrastructure-bb2
https://github.com/apache/infrastructure-bb2 is visible only to committers.
See previous changes of flink-ml.py to understand the changes needed to create website buildbot for the new Flink ML release branch. Please remove the last minor release branch after adding a new release branch.
After the change takes effect within one day, you should be able to find the corresponding buildbot at https://ci2.apache.org/#/builders.
Propose a pull request for
...
flink-web
The final step of building the candidate is to propose a website pull request.
Start by updating the variables for the latest released version in the top-level config.toml, and update updating the version/date in release_archive.yml, linking to the source code download and the Release Notes in JIRA. Also and adding urls in flink_ml.yml. Also, add a new blog entry announcing the release in docs/content/posts.
...
Code Block |
---|
$ svn move -m "Release Flink ML ${RELEASE_VERSION}" \ https://dist.apache.org/repos/dist/dev/flink/flink-ml-${RELEASE_VERSION}-rc${RC_NUM} \ https://dist.apache.org/repos/dist/release/flink/flink-ml-${RELEASE_VERSION} |
Remove old release candidates from dist.apache.org
...