You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Committers should use the following commands and steps to create an Apache Airflow release:

  1. Run dev/airflow-jira on the test branch
    dev/airflow-jira compare 1.8.1

  2. Commit RCs here
    svn co https://dist.apache.org/repos/dist/dev/incubator/airflow

    Make sure CHANGELOG and UPDATING.md have been updated.

  3. Remove previous versions from  https://dist.apache.org/repos/dist/dev/incubator/airflow (`svn rm` -> `svn commit`)

  4. Run a travis build, confirm it passes (duh.)
  5. Build airflow
    python setup.py sdist

  6. Generate MD5
    gpg --print-md MD5 apache-airflow-1.8.1rc0+apache.incubating.tar.gz > apache-airflow-1.8.1rc0+apache.incubating.tar.gz.md5

  7. Generate the SHA512
    gpg --print-md SHA512 apache-airflow-1.8.1rc0+apache.incubating.tar.gz > apache-airflow-1.8.1rc0+apache.incubating.tar.gz.sha

  8. Upload your GPG public key to https://pgp.mit.edu

  9. Add your GPG pub key to https://dist.apache.org/repos/dist/release/incubator/airflow/KEYS , follow the instructions at the top of the file

  10. Sign Airflow tar.gz
    gpg --armor --output apache-airflow-1.8.1rc0+apache.incubating.tar.gz.asc --detach-sig apache-airflow-1.8.1rc0+apache.incubating.tar.gz

  11. Do votes in dev@airflow.incubator.apache.org and general@incubator.apache.org
    https://mail-archives.apache.org/mod_mbox/incubator-airflow-dev/201705.mbox/%3CCABYbY7eZk2SYHs3ni31h94uwwRdcn4dkJwumYtUMsfFLq-gwjg%40mail.gmail.com%3E
    https://mail-archives.apache.org/mod_mbox/incubator-general/201705.mbox/%3CCABYbY7cnACrrsrFtdwtq_-4AokMAe8CBOcWSvNz%2BhgB9DfVEvQ%40mail.gmail.com%3E

  12. Commit final release here
    svn co https://dist.apache.org/repos/dist/release/incubator/airflow

  13. Merge the test branch into the stable branch
    git pull apache v1-8-test
    git pull apache v1-8-stable
    git co v1-8-stable
    git merge v1-8-test
    git tag 1.8.1
    git push apache v1-8-stable
    git push apache 1.8.1

  14. Follow these instructions to publish to PyPi
    Note: You must remove the +incubating from the airflow/version.py file.

 

Source releases

  • set your version to 1.8.2 in airflow/version.py

  • tag your release `git tag 1.8.2rc3`
    `git clean -f`

  • target is something like https://dist.apache.org/repos/dist/dev/incubator/airflow/1.8.2rc4/
    (can be done with `svn co https://dist.apache.org/repos/dist/dev/incubator/airflow/`)
  • # tarball the repo
    git archive --format=tar 1.8.2rc3 | gzip > apache-airflow-1.8.2rc3+incubating-source.tar.gz
  • generate sdist
    python setup.py sdist
  • Generate MD5/SHA512/ASC
    </path to airflow source>/dev/sign.sh apache-airflow-1.9.0alpha0+incubating-source.tar.gz
  • Generate MD5s
    gpg --print-md MD5 apache-airflow-1.8.1rc0+apache.incubating.tar.gz > apache-airflow-1.8.1rc0+apache.incubating.tar.gz.md5

  • Generate the SHA512
    gpg --print-md SHA512 apache-airflow-1.8.1rc0+apache.incubating.tar.gz > apache-airflow-1.8.1rc0+apache.incubating.tar.gz.sha

  • Upload your GPG public key to https://pgp.mit.edu

  • Add your GPG pub key to https://dist.apache.org/repos/dist/release/incubator/airflow/KEYS , follow the instructions at the top of the file

  • Sign Airflow tar.gz
    gpg --armor --output apache-airflow-1.8.1rc0+apache.incubating.tar.gz.asc --detach-sig apache-airflow-1.8.1rc0+apache.incubating.tar.gz


Publishing to PyPi:
  • Create a ~/.pypirc file:

    $ cat ~/.pypirc 
    [distutils]
    index-servers =
      pypi
      pypitest
    
    [pypi]
    username=your-username
    password=*********
    
    [pypitest]
    repository=https://test.pypi.org/legacy/
    username=your-username
    password=*********

    (more details here.)

  • Set proper permissions for the pypirc file:

    $ chmod 600 ~/.pypirc
  • Confirm that airflow/version.py is set properly.
  • Install the package in PyPi's test environment:

    $ python setup.py sdist upload -r pypitest
  • Verify that the test package looks good by downloading it and installing it into a virtual environment. The package download link is available at:
    https://test.pypi.org/project/apache-airflow/#files
  • Install the package in PyPi's production environment:

    $ python setup.py sdist upload -r pypi
  • Again, confirm that the package is available here:
    https://pypi.python.org/pypi/apache-airflow

Updating CHANGELOG.md:

  • Get a diff between the last version and the current version:

    $ git log 1.8.0..1.9.0 --pretty=oneline



  • Update CHANGELOG.md with the details, and commit it.

Publishing documentation:

 

 

  • No labels