Fix pre-commit check? #7
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@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
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@v4 | |
- 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 aiida-core and pre-commit | |
uses: .github/actions/install-aiida-core | |
with: | |
python-version: '3.10' | |
extras: '[pre-commit]' | |
- 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@v4 | |
- name: Install system dependencies | |
run: | | |
sudo apt update | |
sudo apt install postgresql graphviz | |
- name: Install aiida-core | |
uses: .github/actions/install-aiida-core | |
- 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@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
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 }} |