Release v2.5.2
#92
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release | |
# Automate deployment to PyPI when creating a release tag vX.Y.Z | |
# will only be published to PyPI if the git tag matches the release version | |
# and the pre-commit and tests pass | |
on: | |
push: | |
tags: | |
- v[0-9]+.[0-9]+.[0-9]+* | |
jobs: | |
check-release-tag: | |
# Only run this job on the main repository and not on forks | |
if: github.repository == 'aiidateam/aiida-core' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.9' | |
- run: python .github/workflows/check_release_tag.py $GITHUB_REF | |
pre-commit: | |
needs: [check-release-tag] | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- name: Install system dependencies | |
# note libkrb5-dev is required as a dependency for the gssapi pip install | |
run: | | |
sudo apt update | |
sudo apt install libkrb5-dev ruby ruby-dev | |
- name: Install python dependencies | |
run: | | |
pip install --upgrade pip | |
pip install -r requirements/requirements-py-3.10.txt | |
pip install -e .[pre-commit] | |
pip freeze | |
- name: Run pre-commit | |
run: pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) | |
tests: | |
needs: [check-release-tag] | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
services: | |
postgres: | |
image: postgres:10 | |
env: | |
POSTGRES_DB: test_aiida | |
POSTGRES_PASSWORD: '' | |
POSTGRES_HOST_AUTH_METHOD: trust | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
rabbitmq: | |
image: rabbitmq:3.8.14-management | |
ports: | |
- 5672:5672 | |
- 15672:15672 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.9' | |
- name: Install system dependencies | |
run: | | |
sudo apt update | |
sudo apt install postgresql graphviz | |
- name: Upgrade pip | |
run: | | |
pip install --upgrade pip | |
pip --version | |
- name: Install aiida-core | |
run: | | |
pip install -r requirements/requirements-py-3.9.txt | |
pip install --no-deps -e . | |
- name: Run sub-set of test suite | |
run: pytest -sv -k 'requires_rmq' | |
publish: | |
name: Publish to PyPI | |
needs: [check-release-tag, pre-commit, tests] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.9' | |
- name: install flit | |
run: | | |
pip install flit~=3.4 | |
- name: Build and publish | |
run: | | |
flit publish | |
env: | |
FLIT_USERNAME: __token__ | |
FLIT_PASSWORD: ${{ secrets.PYPI_KEY }} |