Skip to content

Latest version tests #1497

Latest version tests

Latest version tests #1497

name: Latest version tests
on:
push:
branches:
- main
- 'stable/**'
pull_request:
branches:
- main
- 'stable/**'
schedule:
- cron: '0 1 * * *'
jobs:
tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
max-parallel: 4
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.11"]
include:
- os: macos-latest
python-version: "3.8"
- os: windows-latest
python-version: "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Modify tox.ini for more thorough check
shell: bash
run: |
sed -i.bak -E '/#.*CI:[[:space:]]*skip-next-line/I{N;d;}' tox.ini
cat tox.ini
- name: Test using tox environment
shell: bash
run: |
pver=${{ matrix.python-version }}
tox -epy${pver/./} -- --run-slow
notebook_flags=""
if [ "$pver" = "3.11" ]; then
echo Skipping tutorials that require cplex
notebook_flags="${notebook_flags} --ignore=docs/circuit_cutting/cutqc/tutorials/tutorial_1_automatic_cut_finding.ipynb --ignore=docs/circuit_cutting/cutqc/tutorials/tutorial_3_cutting_with_quantum_serverless.ipynb"
fi
if [ "$RUNNER_OS" = "Windows" ]; then
echo Skipping tutorials \& how-tos that require pyscf
notebook_flags="${notebook_flags} --ignore=docs/entanglement_forging --ignore=docs/_build/jupyter_execute/entanglement_forging/how-tos"
fi
tox -epy${pver/./}-notebook -- ${notebook_flags}