Partial cleanup of old code. This commit will not be working code #187
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Build and run tests (no MacOS, low/high Python versions only) | |
on: | |
push: | |
# Intended to be fast checks on non-main branches | |
branches-ignore: [ "beta", "develop", "master" ] | |
# Hacky way to only run pull requests from forked repositories (assumes : is not used in branch names unless forked) | |
# https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662/10 | |
pull_request: | |
branches: [ "**:**" ] | |
# Allow running manually from Actions tab | |
workflow_dispatch: | |
env: | |
SKIP_DEAP: 1 | |
jobs: | |
build: # Main build + unit test check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
python-version: [3.8,'3.11'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up installation environment (Ubuntu or Windows) | |
if: ${{matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest'}} | |
run: | | |
./.github/ci-scripts/before_install.sh | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache pip packages | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }}-${{ hashFiles('**/*requirements.txt') }} | |
- name: Install package | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel | |
python -m pip install flake8 | |
python -m pip install -e .[testing] | |
python setup.py build_ext --inplace | |
# python -m pip freeze # this isn't relevant anymore since pip install builds a wheel separately | |
- name: Lint with flake8 | |
if: ${{matrix.os != 'windows-latest'}} | |
run: | | |
# Critical errors, exit on failure | |
flake8 . --count --show-source --statistics --config=.flake8-critical | |
# Standard PEP8, allowed to fail since exit-zero treats all errors as warnings | |
flake8 . --exit-zero --statistics | |
- name: Run unit tests ubuntu | |
if: ${{matrix.os == 'ubuntu-latest'}} | |
run: | | |
python -Ic "import pygsti; print(pygsti.__version__); print(pygsti.__path__)" | |
python -m pytest -n auto --dist loadscope --cov=pygsti test/unit | |
- name: Run unit tests windows | |
if: ${{matrix.os == 'windows-latest'}} | |
run: | | |
python -Ic "import pygsti; print(pygsti.__version__); print(pygsti.__path__)" | |
python -m pytest -n auto --dist loadscope --cov=pygsti test/unit | |