Skip to content

cirq-latest-stable #611

cirq-latest-stable

cirq-latest-stable #611

# Workflow template for testing plugins against PennyLane stable
name: cirq-latest-stable
on:
push:
branches:
- master
pull_request:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
env:
PLUGIN_REPO: PennyLaneAI/pennylane-cirq
PLUGIN_BRANCH: master
PLUGIN_PACKAGE: pennylane_cirq
PENNYLANE_BRANCH: master
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.4.1
with:
access_token: ${{ github.token }}
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Install requirements
run: |
pip install --upgrade pip
pip install --upgrade cirq
pip install --upgrade qsimcirq
pip install 'pytest<8.1.0'
pip install pytest-mock pytest-cov flaky pytest-benchmark
pip freeze
- name: Install PennyLane and Plugin
run: |
pip install pennylane git+https://github.com/${{ env.PLUGIN_REPO }}.git@${{ env.PLUGIN_BRANCH }}
- uses: actions/checkout@v2
with:
repository: ${{ env.PLUGIN_REPO }}
path: plugin_repo
ref: ${{ env.PLUGIN_BRANCH }}
- name: Run PennyLane device integration tests
run: |
if ! [ -x "$(command -v pl-device-test)" ]; then
echo 'Error: Version of PennyLane does not provide device integration tests.' >&2
else
pl-device-test --device=cirq.simulator --tb=short --skip-ops --shots=None
pl-device-test --device=cirq.simulator --tb=short --skip-ops --shots=20000
pl-device-test --device=cirq.mixedsimulator --tb=short --skip-ops --shots=None
pl-device-test --device=cirq.mixedsimulator --tb=short --skip-ops --shots=20000
pl-device-test --device=cirq.pasqal --tb=short --skip-ops --analytic=False --shots=20000 --device-kwargs control_radius=2.
pl-device-test --device=cirq.qsim --tb=short --skip-ops --analytic=False --shots=20000
fi
- name: Run plugin tests
run: python -m pytest plugin_repo/tests --tb=short