Skip to content

Check type hints with mypy #89

Check type hints with mypy

Check type hints with mypy #89

Workflow file for this run

name: Pipeline
on:
push:
branches: [ main ]
pull_request:
jobs:
black:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: psf/black@stable
with:
options: "--check --diff"
src: ./${{ github.event.repository.name }}
black_fix: # in most cases pre-commit is faster
needs: [black]
if: failure()
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.DEPENDABOT_WORKFLOW_TOKEN }}
ref: ${{ github.event.pull_request.head.ref }} # Check out the head of the actual branch, not the PR
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
- name: format black
uses: psf/black@stable
with:
options: ""
src: "./${{ github.event.repository.name }}"
- name: commit
run: |
git config --local user.email "[email protected]"
git config --local user.name "pyiron-runner"
git commit -m "Format black" -a
- name: push
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.DEPENDABOT_WORKFLOW_TOKEN }}
branch: ${{ github.event.pull_request.head.ref }}
minimal:
needs: [black]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Conda config
shell: bash -l {0}
run: echo -e "channels:\n - conda-forge\n" > .condarc
- name: Setup Mambaforge
uses: conda-incubator/setup-miniconda@v3
with:
python-version: "3.13"
miniforge-version: latest
condarc-file: .condarc
environment-file: .ci_support/environment-mini.yml
- name: Test
shell: bash -l {0}
timeout-minutes: 5
run: |
pip install . --no-deps --no-build-isolation
python -m unittest discover tests
old:
needs: [black]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Conda config
shell: bash -l {0}
run: echo -e "channels:\n - conda-forge\n" > .condarc
- name: Setup Mambaforge
uses: conda-incubator/setup-miniconda@v3
with:
python-version: "3.10"
miniforge-version: latest
condarc-file: .condarc
environment-file: .ci_support/environment-old.yml
- name: Test
shell: bash -l {0}
timeout-minutes: 5
run: |
pip install . --no-deps --no-build-isolation
python -m unittest discover tests
mypy:
needs: [black]
runs-on: ubuntu-latest
steps:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
architecture: x64
- name: Checkout
uses: actions/checkout@v4
- name: Install mypy
run: pip install mypy
- name: Test
run: mypy --ignore-missing-imports ${{ github.event.repository.name }}
pyiron_atomistics_tests:
needs: [black]
runs-on: ubuntu-latest
strategy:
matrix:
include:
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-20.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-21.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-22.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-23.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-24.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-6-25.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-0.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-1.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-2.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-3.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-4.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-5.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-6.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-7.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-8.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-9.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-10.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-11.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-12.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-13.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-14.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-15.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-16.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-17.yml
- environment-file: .ci_support/environment-pyiron-atomistics-0-7-18.yml
steps:
- uses: actions/checkout@v4
- name: Conda config
shell: bash -l {0}
run: echo -e "channels:\n - conda-forge\n" > .condarc
- name: Setup Mambaforge
uses: conda-incubator/setup-miniconda@v3
with:
python-version: "3.12"
miniforge-version: latest
condarc-file: .condarc
environment-file: ${{ matrix.environment-file }}
- name: Test
shell: bash -l {0}
timeout-minutes: 5
run: |
pip install . --no-deps --no-build-isolation
coverage run
coverage report
coverage xml
- name: Upload coverage reports to Codecov
if: matrix.environment-file == '.ci_support/environment-pyiron-atomistics-0-7-18.yml'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
autobot:
needs: [minimal, old, pyiron_atomistics_tests]
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
if: (github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'pre-commit-ci[bot]')
steps:
- name: Enable auto-merge for bot PRs
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}