build #2702
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: build | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
- develop | |
jobs: | |
style: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Pulser | |
uses: actions/checkout@v4 | |
- name: Pulser + flake8 install | |
uses: ./.github/workflows/pulser-setup | |
with: | |
extra-packages: flake8 | |
- name: Lint with flake8 | |
run: flake8 | |
black: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Pulser | |
uses: actions/checkout@v4 | |
- name: Pulser + black install | |
uses: ./.github/workflows/pulser-setup | |
with: | |
extra-packages: black | |
- name: Check formatting with black | |
run: black --check --diff . | |
isort: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Pulser | |
uses: actions/checkout@v4 | |
- name: Pulser + isort install | |
uses: ./.github/workflows/pulser-setup | |
with: | |
extra-packages: isort | |
- name: Check import sorting with isort | |
run: isort --check-only --diff . | |
typing: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Pulser | |
uses: actions/checkout@v4 | |
- name: Pulser + mypy install | |
uses: ./.github/workflows/pulser-setup | |
with: | |
extra-packages: '''mypy\|pytest''' | |
- name: Type check with mypy | |
run: mypy | |
test: | |
if: github.event_name != 'push' | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.12"] | |
with-torch: ["with-torch", "no-torch"] | |
steps: | |
- name: Check out Pulser | |
uses: actions/checkout@v4 | |
- name: Pulser + pytest install | |
uses: ./.github/workflows/pulser-setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
extra-packages: pytest | |
with-torch: ${{ matrix.with-torch }} | |
- name: Run the unit tests & generate coverage report | |
if: ${{ matrix.with-torch == 'with-torch' }} | |
run: pytest --cov --cov-fail-under=100 | |
- name: Run the unit tests without torch installed | |
if: ${{ matrix.with-torch != 'with-torch' }} | |
run: pytest --cov | |
- name: Test validation with legacy jsonschema | |
run: | | |
pip install jsonschema==4.17.3 | |
pytest tests/test_abstract_repr.py -W ignore::DeprecationWarning |