Versions Compared

Key

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

...

  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
      $ cd /path/to/downloaded_wheel_packages
      $ unzip wheel_Linux_build_wheels\ linux.zip
      $ unzip wheel_Darwin_build_wheels\ mac.zip


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

      Code Block
      languagebash
      $ cd <flink-dir>
      $ mkdir flink-python/dist


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

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


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
for f in *.whl; do twine upload --repository-url https://upload.pypi.org/legacy/ $f $f.asc; done

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.

...