Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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) 

  1. 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.
  2. Secondly, you need to push the tag to your forked Flink repository

    Code Block
    languagebash
    tools $ git push {your remote repository} ${TAG}


  3. 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).
    1. Download the PyFlink wheel packages
      1. Open the build result page of the pipeline
      2. Go to the `Artifacts` page (build_wheels linux -> 1 artifact)
      3. Click `wheel_Darwin_build_wheels mac` and `wheel_Linux_build_wheels linux` separately to download the zip files
    2. Unzip these two zip files

      Code Block
      languagebash
      $ unzip wheel_Linux_build_wheels\ linux.zip
      $ unzip wheel_Darwin_build_wheels\ mac.zip


    3. Create directory `dist` under the directory flink-python

      Code Block
      languagebash
      $ mkdir flink-python/dist


    4. Move the unzipped wheel packages to directory flink-python/dist

      Code Block
      languagebash
      $ mv wheel_Darwin_build_wheels\ mac/* flink-python/dist/
      $ mv wheel_Linux_build_wheels\ linux/* flink-python/dist/


Finally, we create the binary convenience release files:

...

Code Block
languagetext
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.

...