DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Building an RC
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
Voting on an RC
Once the RC is built (both source and binary), put them in the dev SVN repository:
https://dist.apache.org/repos/dist/dev/incubator/airflow/Use the dev/airflow-jira script to generate a list of Airflow JIRAs that were closed in the release.
Send out a vote to the dev@airflow.incubator.apache.org mailing list:
Once the vote has been passed, you will need to send a result vote to dev@airflow.incubator.apache.org:
And you will also need to send a vote request to general@incubator.apache.org:
Lastly, you'll need to send the general@ vote result to both general@incubator.apache.org and dev@airflow.incubator.apache.org:
Publishing release
- After both votes pass (see above), you need to migrate the RC artifacts that passed to this repository:
https://dist.apache.org/repos/dist/release/incubator/airflow/
The migration should including renaming the files so that they no longer have the RC number in their filenames.
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.
Notifying developers of release
Notify dev@airflow.incubator.apache.org that the artifacts have been published:
Dear Airflow community, Airflow 1.9.0 was just released. The source release as well as the binary "sdist" release are available here: https://dist.apache.org/repos/dist/release/incubator/airflow/1.9.0-incubating/ We also made this version available on PyPi for convenience (`pip install apache-airflow`): https://pypi.python.org/pypi/apache-airflow Find the CHANGELOG here for more details: https://github.com/apache/incubator-airflow/blob/master/CHANGELOG.txt Cheers, <your name>
Publishing documentation
- Follow instructions on Building and deploying the docs
Bulk migrate JIRAs
- Go to the Apache JIRA, and filter for all open/in progress JIRAs for the version that you just released:
https://issues.apache.org/jira/issues/?jql=project%20%3D%20AIRFLOW%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20fixVersion%20%3D%201.9.0 - Do a bulk edit to migrate the fix version to the next unreleased version of Airflow.
Old stuff that doesn't apply anymore