feat: Update pyQuil, drop support for Python 3.8, enable support for Python 3.13 #63
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
on: | |
pull_request | |
name: Checks | |
env: | |
# Issues with `poetry install` on windows with python 3.9 otherwise. | |
POETRY_VERSION: "1.3.2" | |
jobs: | |
style: | |
name: Style Checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-poetry- | |
- name: Install Dependencies | |
run: | | |
pip install poetry==${{ env.POETRY_VERSION }} | |
poetry config virtualenvs.in-project true | |
poetry install | |
- name: Style Checks | |
run: poetry run make check-style | |
lint: | |
name: Linters | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-poetry- | |
- name: Install Dependencies | |
run: | | |
pip install poetry==${{ env.POETRY_VERSION }} | |
poetry config virtualenvs.in-project true | |
poetry install | |
- name: Lint Checks | |
run: poetry run make lint | |
test-no-qcs: | |
name: Test (no QCS) | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
python: | |
- 3.9 | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: ${{ runner.os }}-python-${{ matrix.python }}-poetry-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-python-${{ matrix.python }}-poetry- | |
- name: Install Dependencies | |
run: | | |
pip install poetry==${{ env.POETRY_VERSION }} | |
poetry config virtualenvs.in-project true | |
poetry install | |
- name: Test | |
run: poetry run make test-no-qcs | |
env: | |
TEST_QUANTUM_PROCESSOR: Ankaa-9Q-3 | |
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} | |
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} | |
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} | |
AZURE_QUANTUM_SUBSCRIPTION_ID: ${{ secrets.AZURE_QUANTUM_SUBSCRIPTION_ID }} | |
AZURE_QUANTUM_WORKSPACE_RG: ${{ secrets.AZURE_QUANTUM_WORKSPACE_RG }} | |
AZURE_QUANTUM_WORKSPACE_NAME: ${{ secrets.AZURE_QUANTUM_WORKSPACE_NAME }} | |
AZURE_QUANTUM_WORKSPACE_LOCATION: ${{ secrets.AZURE_QUANTUM_WORKSPACE_LOCATION }} | |
test_qcs: | |
name: Test (QCS) | |
strategy: | |
matrix: | |
python: | |
- 3.9 | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python }} | |
- uses: actions/cache@v3 | |
with: | |
path: .venv | |
key: ${{ runner.os }}-python-${{ matrix.python }}-poetry-${{ hashFiles('poetry.lock') }} | |
restore-keys: | | |
${{ runner.os }}-python-${{ matrix.python }}-poetry- | |
- name: Install Dependencies | |
run: | | |
pip install poetry==${{ env.POETRY_VERSION }} | |
poetry config virtualenvs.in-project true | |
poetry install | |
- name: Setup QCS Settings | |
run: | | |
mkdir -p ~/.qcs | |
echo '${{ secrets.QCS_SETTINGS_FILE }}' > ~/.qcs/settings.toml | |
echo '${{ secrets.QCS_SECRETS_FILE }}' > ~/.qcs/secrets.toml | |
- name: Start quilc | |
run: docker run -d -p 5555:5555 rigetti/quilc -S | |
- name: Test | |
run: poetry run make test-requires-qcs | |
env: | |
TEST_QUANTUM_PROCESSOR: Ankaa-9Q-3 | |
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} | |
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} | |
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} | |
AZURE_QUANTUM_SUBSCRIPTION_ID: ${{ secrets.AZURE_QUANTUM_SUBSCRIPTION_ID }} | |
AZURE_QUANTUM_WORKSPACE_RG: ${{ secrets.AZURE_QUANTUM_WORKSPACE_RG }} | |
AZURE_QUANTUM_WORKSPACE_NAME: ${{ secrets.AZURE_QUANTUM_WORKSPACE_NAME }} | |
AZURE_QUANTUM_WORKSPACE_LOCATION: ${{ secrets.AZURE_QUANTUM_WORKSPACE_LOCATION }} |