Codespaces support for v4 #917
Workflow file for this run
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: Tests | |
on: | |
push: | |
branches: [ master, rc, v4 ] | |
pull_request: | |
branches: [ master, rc, v4 ] | |
workflow_dispatch: | |
jobs: | |
docs: | |
name: Build and test documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Build and test the documentation | |
run: | | |
sudo apt update | |
sudo apt install pandoc | |
. scripts/ci_install_deps | |
poetry run make docs | |
check-coverage: | |
name: Check coverage | |
runs-on: ubuntu-latest | |
# This job needs to be reworked. See https://github.com/rigetti/pyquil/issues/1547 | |
if: false | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Check coverage | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
poetry run make coverage | |
check-format: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Check format | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
poetry run make check-format | |
check-style: | |
name: Check style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Check style | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
poetry run make check-style | |
check-types: | |
name: Check types | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.8' | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Check types | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
poetry run make check-types | |
test-doctest: | |
name: Run Doctests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Test Unit (Python ${{ matrix.python-version }}) | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
sudo apt install pandoc | |
docker run --rm -itd -p 5555:5555 rigetti/quilc -R | |
docker run --rm -itd -p 5000:5000 rigetti/qvm -S | |
poetry run make doctest | |
test-unit: | |
name: Test Unit | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Test Unit (Python ${{ matrix.python-version }}) | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
docker run --rm -itd -p 5555:5555 rigetti/quilc -R | |
docker run --rm -itd -p 5000:5000 rigetti/qvm -S | |
poetry run make test | |
- name: Report Coverage | |
if: matrix.python-version == '3.11' | |
uses: orgoro/[email protected] | |
with: | |
coverageFile: coverage.xml | |
thresholdAll: 0.87 | |
thresholdNew: 0.9 | |
token: ${{ secrets.PAT }} | |
test-e2e: | |
name: Test e2e QVM | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: poetry-${{ hashFiles('poetry.lock') }} | |
- name: Test e2e QVM (Python ${{ matrix.python-version }}) | |
run: | | |
sudo apt update | |
. scripts/ci_install_deps | |
docker run --rm -itd -p 5555:5555 rigetti/quilc -R | |
docker run --rm -itd -p 5000:5000 rigetti/qvm -S | |
poetry run make e2e TEST_QUANTUM_PROCESSOR=2q-qvm |