...
Code Block | ||||
---|---|---|---|---|
| ||||
svn checkout https://dist.apache.org/repos/dist/dev/flink --depth=immediates cd flink svn remove flink-${RELEASE_VERSION}-rc* svn commit -m "Remove old release candidates for Apache Flink ${RELEASE_VERSION}" |
Remove outdated versions from dist.apache.org
For a new major release remove all release files older than 2 versions, e.g., when releasing 1.7, remove all releases <= 1.5.
For a new bugfix version remove all release files for previous bugfix releases in the same series, e.g., when releasing 1.7.1, remove the 1.7.0 release.
...
Git tag
Create a new Git tag for the released version by copying the tag for the final release candidate, as follows:
git tag -s "release-${RELEASE_VERSION}" ${TAG}
Mark the version as released in JIRA
In JIRA, inside version management, hover over the current release and a settings menu will appear. Click Release
, and select today’s date.
Update website to point to new stable release documentation (for major releases only)
In our website repository flink-web
, for major releases we need to update the website to point to the new stable release.
In the _config.yml
file under the root directory, update the following settings:
Code Block | |
---|---|
|
...
| |
FLINK_VERSION_STABLE: $RELEASE_VERSION FLINK_VERSION_STABLE_SHORT: $SHORT_RELEASE_VERSION stable: $SHORT_RELEASE_VERSION snapshot: $SHORT_NEXT_SNAPSHOT_VERSION docs-stable: "https:// |
...
ci.apache.org/ |
...
projects/ |
...
Remove files for outdated releases and commit the changes.
Code Block | ||
---|---|---|
| ||
svn remove flink-<version_to_remove>
svn commit |
...
Verify that files are removed
flink/flink-docs-release-$SHORT_RELEASE_VERSION" |
Finally, rebuild the website and push.
Add download links for the new release to the website
In the _config.yml
file under the root directory of flink-web
, you will find a list of download links for previous releases.
Following the same format,
- add a new entry to
release_archive.flink
- for major releases, add a new entry to
flink_releases
for the release binaries and sources - for minor releases, update the entry for the previous release in the series in
flink_releases
Please pay notice to the ids assigned to the download entries. They should be unique and reflect their corresponding version number.
Publish the Dockerfiles for the new release
Note: the official Dockerfiles fetch the binary distribution of the target Flink version from an Apache mirror. After publishing the binary release artifacts, mirrors can take some hours to start serving the new artifacts, so you may want to wait to do this step until you are ready to continue with the "Promote the release" steps below.
Follow the instructions in the flink-docker repo to build the new Dockerfiles and send an updated manifest to Docker Hub so the new images are built and published.
Checklist to proceed to the next step
- Python artifacts released and indexed in the PyPI Repository
- Maven artifacts released and indexed in the Maven Central Repository (usually takes about a day to show up)
- Source & binary distributions available in the release repository of https://dist.apache.org/repos/dist/release/flink/
- Dev repository https://dist.apache.org/repos/dist/dev/flink/ is empty
- Release tagged in the source code repository
- Release version finalized in JIRA. (Note: Not all committers have administrator access to JIRA. If you end up getting permissions errors ask on the mailing list for assistance)
- Website contains links to new release binaries and sources in download page
- For major releases, the front page references the correct new major release version and directs to the correct link
- Dockerfiles in flink-docker updated for the new Flink release and pull request opened on the Docker official-images with an updated manifest
Promote the release
Once the release has been finalized, the last step of the process is to promote the release within the project and beyond. Please wait for 24h after finalizing the release in accordance with the ASF release policy.
Merge website pull request
Merge the website pull request to list the release. Make sure to regenerate the website as well, as it isn't build automatically.
Remove outdated versions from dist.apache.org
For a new major release remove all release files older than 2 versions, e.g., when releasing 1.7, remove all releases <= 1.5.
For a new bugfix version remove all release files for previous bugfix releases in the same series, e.g., when releasing 1.7.1, remove the 1.7.0 release.
If you have not already, check out the Flink section of the
release
repository ondist.apache.org
via Subversion. In a fresh directory:Code Block language bash svn checkout https://dist.apache.org/repos/dist/release/flink --depth=immediates cd flink
Remove files for outdated releases and commit the changes.
Code Block language bash svn remove flink-<version_to_remove> svn commit
Verify that files are removed
Git tag
Create a new Git tag for the released version by copying the tag for the final release candidate, as follows:
git tag -s "release-${RELEASE_VERSION}" ${TAG}
Mark the version as released in JIRA
In JIRA, inside version management, hover over the current release and a settings menu will appear. Click Release
, and select today’s date.
Update website to point to new stable release documentation (for major releases only)
In our website repository flink-web
, for major releases we need to update the website to point to the new stable release.
In the _config.yml
file under the root directory, update the following settings:
Code Block | ||
---|---|---|
| ||
FLINK_VERSION_STABLE: $RELEASE_VERSION
FLINK_VERSION_STABLE_SHORT: $SHORT_RELEASE_VERSION
stable: $SHORT_RELEASE_VERSION
snapshot: $SHORT_NEXT_SNAPSHOT_VERSION
docs-stable: "https://ci.apache.org/projects/flink/flink-docs-release-$SHORT_RELEASE_VERSION" |
Finally, rebuild the website and push.
Add download links for the new release to the website
In the _config.yml
file under the root directory of flink-web
, you will find a list of download links for previous releases.
Following the same format,
- add a new entry to
release_archive.flink
- for major releases, add a new entry to
flink_releases
for the release binaries and sources - for minor releases, update the entry for the previous release in the series in
flink_releases
Please pay notice to the ids assigned to the download entries. They should be unique and reflect their corresponding version number.
Publish the Dockerfiles for the new release
Note: the official Dockerfiles fetch the binary distribution of the target Flink version from an Apache mirror. After publishing the binary release artifacts, mirrors can take some hours to start serving the new artifacts, so you may want to wait to do this step until you are ready to continue with the "Promote the release" steps below.
Follow the instructions in the flink-docker repo to build the new Dockerfiles and send an updated manifest to Docker Hub so the new images are built and published.
Checklist to proceed to the next step
- Python artifacts released and indexed in the PyPI Repository
- Maven artifacts released and indexed in the Maven Central Repository (usually takes about a day to show up)
- Source & binary distributions available in the release repository of https://dist.apache.org/repos/dist/release/flink/
- Dev repository https://dist.apache.org/repos/dist/dev/flink/ is empty
- Release tagged in the source code repository
- Release version finalized in JIRA. (Note: Not all committers have administrator access to JIRA. If you end up getting permissions errors ask on the mailing list for assistance)
- Website contains links to new release binaries and sources in download page
- For major releases, the front page references the correct new major release version and directs to the correct link
- Dockerfiles in flink-docker updated for the new Flink release and pull request opened on the Docker official-images with an updated manifest
Promote the release
Once the release has been finalized, the last step of the process is to promote the release within the project and beyond. Please wait for 24h after finalizing the release in accordance with the ASF release policy.
Merge website pull request
...
Apache mailing lists
Announce on the dev@ mailing list that the release has been finished.
...