Skip to content

qiskit-latest-stable #622

qiskit-latest-stable

qiskit-latest-stable #622

# Workflow template for testing plugins against PennyLane stable
name: qiskit-latest-stable
on:
push:
branches:
- master
pull_request:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
env:
PLUGIN_REPO: PennyLaneAI/pennylane-qiskit
PLUGIN_BRANCH: master
PLUGIN_PACKAGE: pennylane_qiskit
PENNYLANE_BRANCH: master
IBMQX_TOKEN: ${{ secrets.IBMQX_TOKEN }}
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 qiskit
pip install --upgrade pyscf
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=qiskit.basicsim --tb=short --skip-ops --shots=20000 --device-kwargs backend=basic_simulator
pl-device-test --device=qiskit.aer --tb=short --skip-ops --shots=20000
pl-device-test --device=qiskit.aer --tb=short --skip-ops --shots=None --device-kwargs backend=statevector_simulator
pl-device-test --device=qiskit.aer --tb=short --skip-ops --shots=None --device-kwargs backend=unitary_simulator
fi
- name: Run plugin tests
run: python -m pytest plugin_repo/tests --tb=short