...
- Create the source release archive
- Deploy jar artefacts to the Apache Nexus Repository, which is the staging area for deploying the jars to Maven Central
- Build PyFlink wheel packages (since 1.11)
- Create binary convenience releases for different Hadoop versions
...
Close the staging repository on Apache Nexus. When prompted for a description, enter “Apache Flink, version X, release candidate Y”., enter “Apache Flink, version X, release candidate Y”.
Then, you need to build the PyFlink wheel packages.(since 1.11)
- Firstly, you need to set up an azure pipeline with the entrypoint of `/tools/azure-pipelines/build-apache-repo.yml` and variable MODE=nightly in your own free Azure account. You can refer to Azure Pipelines for more details on how to set up a private azure pipeline. Note: The entrypoint and variable MODE in the pipeline are different from the example shown in Azure Pipelines. Besides, you’d better update the master branch in your forked Flink repository to make sure the entrypoint `/tools/azure-pipelines/build-apache-repo.yml` is up to date.
Secondly, you need to push the tag to your forked Flink repository
Code Block language bash tools $ git push {your remote repository} ${TAG}
- Thirdly, you need to download the PyFlink wheel packages from the build result page after the jobs of "build_wheels mac" and "build_wheels linux" have finished (the pipeline should be triggered automatically when you pushed the tag).
- Download the PyFlink wheel packages
- Open the build result page of the pipeline
- Go to the `Artifacts` page (build_wheels linux -> 1 artifact)
- Click `wheel_Darwin_build_wheels mac` and `wheel_Linux_build_wheels linux` separately to download the zip files
Unzip these two zip files
Code Block language bash $ unzip wheel_Linux_build_wheels\ linux.zip $ unzip wheel_Darwin_build_wheels\ mac.zip
Create directory `dist` under the directory flink-python
Code Block language bash $ mkdir flink-python/dist
Move the unzipped wheel packages to directory flink-python/dist
Code Block language bash $ mv wheel_Darwin_build_wheels\ mac/* flink-python/dist/ $ mv wheel_Linux_build_wheels\ linux/* flink-python/dist/
- Download the PyFlink wheel packages
Finally, we create the binary convenience release files:
...
Code Block | ||
---|---|---|
| ||
svn checkout https://dist.apache.org/repos/dist/dev/flink/flink-${RELEASE_VERSION}-rc${RC_NUM} cd flink-${RELEASE_VERSION}-rc${RC_NUM} # since 1.11 cd python twine upload --repository-url https://upload.pypi.org/legacy/ apache-flink-${RELEASE_VERSION}.tar.gz apache-flink-${RELEASE_VERSION}.tar.gz.asc # since 1.11 for f in *.whl; do twine upload --repository-url https://upload.pypi.org/legacy/ $f $f.asc; done |
If upload failed or incorrect for some reason(e.g. network transmission problem), you need to delete the uploaded release package of the same version(if exists) and rename the artifact to apache-flink-${RELEASE_VERSION}.post0.tar.gz, then re-upload.
...