Skip to content

Generate enums in Github Actions #3804

Generate enums in Github Actions

Generate enums in Github Actions #3804

Workflow file for this run

name: testing
on:
workflow_dispatch:
workflow_run:
workflows: ["check-enums"]
types: [completed]
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: ${{ matrix.package }} (${{ matrix.os }}/py${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
strategy:
matrix:
os: ["ubuntu-latest"] # TODO openbabel for windows and mac
package: ["emmet-core", "emmet-builders", "emmet-api"]
python-version: ["3.10", "3.11"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
channels: anaconda, conda-forge
- name: Install all conda requirements
shell: bash -l {0}
run: conda install openbabel openff-toolkit>=0.14.0 openff-interchange>=0.3.22 sqlite -y
- name: Install Python dependencies
shell: bash -l {0}
run: |
python${{ matrix.python-version }} -m pip install --upgrade pip pip-tools
python${{ matrix.python-version }} -m pip install --user `grep numpy ${{ matrix.package }}/requirements/${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt`
python${{ matrix.python-version }} -m pip install --user -r ${{ matrix.package }}/requirements/${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt
env:
CC: gcc-10
CXX: g++-10
- name: Install editable emmet-core if needed
shell: bash -l {0}
if: matrix.package != 'emmet-core'
run: python${{ matrix.python-version }} -m pip install --user --no-deps ./emmet-core
- name: Install ${{ matrix.package }}
shell: bash -l {0}
run: python${{ matrix.python-version }} -m pip install --user --no-deps -e ./${{ matrix.package }}
- name: Lint with mypy
shell: bash -l {0}
run: python${{ matrix.python-version }} -m mypy --namespace-package ${{ matrix.package }}/emmet
- name: Test with pytest
if: always() # run tests even if linting failed
shell: bash -l {0}
run: python${{ matrix.python-version }} -m pytest --cov=emmet --cov-report=xml ${{ matrix.package }}/tests
- uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml