qiskit-documentation/scripts/config/notebook-testing.toml

233 lines
12 KiB
TOML

default-strategy = "ci"
[test-strategies]
ci = { timeout = 300 } # For regular CI
extended = { timeout = 1000 } # Extended checks using test-eagle
# For notebooks to be tested in CI "normally" (no mocking)
[groups.normal]
test-strategies.ci = {}
test-strategies.extended = {}
test-strategies.hardware = { patch="qiskit-ibm-runtime-open" }
notebooks = [
"docs/guides/build-noise-models.ipynb",
"docs/guides/circuit-library.ipynb",
"docs/guides/classical-feedforward-and-control-flow.ipynb",
"docs/guides/common-parameters.ipynb",
"docs/guides/construct-circuits.ipynb",
"docs/guides/create-transpiler-plugin.ipynb",
"docs/guides/custom-backend.ipynb",
"docs/guides/custom-transpiler-pass.ipynb",
"docs/guides/defaults-and-configuration-options.ipynb",
"docs/guides/dynamic-circuits-considerations.ipynb",
"docs/guides/dynamical-decoupling-pass-manager.ipynb",
"docs/guides/error-mitigation-and-suppression-techniques.ipynb",
"docs/guides/get-qpu-information.ipynb",
"docs/guides/local-testing-mode.ipynb",
"docs/guides/operator-class.ipynb",
"docs/guides/operators-overview.ipynb",
"docs/guides/plot-quantum-states.ipynb",
"docs/guides/qiskit-addons-aqc-get-started.ipynb",
"docs/guides/qiskit-addons-mpf-get-started.ipynb",
"docs/guides/qiskit-addons-mpf.ipynb",
"docs/guides/represent-quantum-computers.ipynb",
"docs/guides/save-circuits.ipynb",
"docs/guides/save-jobs.ipynb",
"docs/guides/set-optimization.ipynb",
"docs/guides/simulate-stabilizer-circuits.ipynb",
"docs/guides/simulate-with-qiskit-aer.ipynb",
"docs/guides/specify-observables-pauli.ipynb",
"docs/guides/transpile-with-pass-managers.ipynb",
"docs/guides/transpiler-plugins.ipynb",
"docs/guides/transpiler-stages.ipynb",
"docs/guides/visualize-circuits.ipynb",
"docs/guides/qiskit-addons-cutting-wires.ipynb",
"docs/guides/qiskit-addons-utils.ipynb",
"docs/guides/bit-ordering.ipynb",
"docs/guides/configure-error-mitigation.ipynb",
"docs/guides/configure-error-suppression.ipynb",
"docs/guides/execution-modes-rest-api.ipynb",
"docs/guides/instances.ipynb",
"docs/guides/interoperate-qiskit-qasm2.ipynb",
"docs/guides/interoperate-qiskit-qasm3.ipynb",
"docs/guides/max-execution-time.ipynb",
"docs/guides/measure-qubits.ipynb",
"docs/guides/native-gates.ipynb",
"docs/guides/primitives-rest-api.ipynb",
"docs/guides/repetition-rate-execution.ipynb",
"docs/guides/simulate-with-qiskit-sdk-primitives.ipynb",
"docs/guides/synthesize-unitary-operators.ipynb",
]
# Mock the following notebooks using a 6-qubit local simulator
[groups.local-sim]
test-strategies.ci = { patch="qiskit-fake-provider", num_qubits=6 }
test-strategies.extended = { patch="qiskit-fake-provider", num_qubits=6 }
test-strategies.hardware = { patch="qiskit-ibm-runtime-open" }
notebooks = [
"docs/guides/debug-qiskit-runtime-jobs.ipynb",
"docs/guides/primitive-input-output.ipynb",
"docs/guides/specify-runtime-options.ipynb",
"docs/guides/visualize-results.ipynb",
]
# Mock the following notebooks in our extended checks using IBM Quantum's
# test-eagle device, which returns nonsense results. Use this to test notebooks
# that submit large jobs to test notebooks that use functions, which accept
# only a backend name (string) rather than a `Backend` object.
[groups.test-eagle]
test-strategies.extended = { patch="qiskit-ibm-runtime", backend="test_eagle_us-east", qiskit_runtime_service_args="" }
test-strategies.hardware = { patch="qiskit-ibm-runtime-open" }
notebooks = [
"docs/guides/algorithmiq-tem.ipynb",
"docs/guides/fractional-gates.ipynb",
"docs/guides/functions.ipynb",
"docs/guides/get-started-with-primitives.ipynb",
"docs/guides/ibm-circuit-function.ipynb",
"docs/guides/primitives-examples.ipynb",
"docs/guides/qiskit-addons-obp-get-started.ipynb",
"docs/guides/qiskit-addons-sqd-get-started.ipynb",
"docs/guides/multiverse-computing-singularity.ipynb",
"docs/guides/qunova-chemistry.ipynb",
"docs/guides/ai-transpiler-passes.ipynb",
"docs/guides/qiskit-transpiler-service.ipynb",
"docs/guides/primitives.ipynb",
"docs/guides/run-jobs-batch.ipynb",
"docs/guides/run-jobs-session.ipynb",
"docs/guides/monitor-job.ipynb",
]
# Only run the following notebooks in our fortnightly cron job on real hardware.
[groups.cron-job-only]
test-strategies.hardware = { patch="qiskit-ibm-runtime-open" }
notebooks = [
"docs/guides/hello-world.ipynb",
# The following notebook takes >300s to run and should be executed in the
# cron job. Even though it does not use real hardware
"docs/guides/qiskit-addons-cutting-gates.ipynb",
# The following notebooks don't seem to work with `test-eagle`, but I'm not
# sure why. I've added them here to run on the next cron job so we can
# confirm on actual hardware.
# This timed out for me, even though I saw the job finish. Maybe it needs
# longer? Running in cron job to remove time limit.
"docs/guides/noise-learning.ipynb",
# This timed out with no jobs submitted. Adding to the cron to see if it
# needs longer.
"docs/guides/qedma-qesem.ipynb",
# Got `KeyError: 'qsci_energy'`; might be due to nonsense results from
# test-eagle? Running in cron job to test on a real backend.
"docs/guides/qunasys-quri-chemistry.ipynb",
# Got: `QiskitServerlessException: "Q-CTRL: Failed to execute Qiskit
# Function. Failed to compile the circuit.
# compiler_exceptions=[TranspilerError('More virtual qubits
# exist than physical.')]"`
"docs/guides/q-ctrl-optimization-solver.ipynb",
# Got: `QiskitServerlessException: "Q-CTRL: Failed to execute Qiskit
# Function. could not broadcast input array from shape (3996,5) into
# shape (4000,5)"`
# Timed out when I re-ran it.
"docs/guides/q-ctrl-performance-management.ipynb",
]
# Don't ever test the following notebooks
[groups.exclude]
notebooks = [
# This notebook contains undefined variables so can't run at all.
"docs/guides/function-template-hamiltonian-simulation.ipynb",
# These notebooks are failing with auth errors and need investigating
"docs/guides/serverless-first-program.ipynb",
"docs/guides/serverless-run-first-workload.ipynb",
"docs/guides/serverless-manage-resources.ipynb",
# This notebook might work but we didn't have time to test it before merging
"docs/guides/kipu-optimization.ipynb",
# This is broken with the most recent versions of Qiskit/Runtime, but we're
# removing the page soon so we've decided not to fix it.
"docs/guides/pulse.ipynb",
# These notebooks have code snippets which are embedded in cloud/legacy tags
# and can't be run until we convert them to testable snippets
"docs/guides/retired-qpus.ipynb",
"docs/guides/estimate-job-run-time.ipynb",
"docs/guides/serverless-port-code.ipynb",
# We never run tutorials notebooks
"docs/tutorials/advanced-techniques-for-qaoa.ipynb",
"docs/tutorials/ai-transpiler-introduction.ipynb",
"docs/tutorials/circuit-transpilation-settings.ipynb",
"docs/tutorials/grovers-algorithm.ipynb",
"docs/tutorials/spin-chain-vqe.ipynb",
"docs/tutorials/quantum-approximate-optimization-algorithm.ipynb",
"docs/tutorials/quantum-kernel-training.ipynb",
"docs/tutorials/repeat-until-success.ipynb",
"docs/tutorials/transpilation-optimizations-with-sabre.ipynb",
"docs/tutorials/variational-quantum-eigensolver.ipynb",
"docs/tutorials/qunova-hivqe.ipynb",
"docs/tutorials/real-time-benchmarking-for-qubit-selection.ipynb",
"docs/tutorials/compute-dissociation-curves-for-strong-coupling-systems-with-quna-sys-qsci.ipynb",
"docs/tutorials/solve-higher-order-binary-optimization-problems-with-q-ctrls-optimization-solver.ipynb",
"docs/tutorials/chsh-inequality.ipynb",
"docs/tutorials/approximate-quantum-compilation-for-time-evolution.ipynb",
"docs/tutorials/combine-error-mitigation-techniques.ipynb",
"docs/tutorials/periodic-boundary-conditions-with-circuit-cutting.ipynb",
"docs/tutorials/repetition-codes.ipynb",
"docs/tutorials/error-mitigation-with-qiskit-functions.ipynb",
"docs/tutorials/operator-back-propagation.ipynb",
"docs/tutorials/depth-reduction-with-circuit-cutting.ipynb",
"docs/tutorials/long-range-entanglement.ipynb",
"docs/tutorials/wire-cutting.ipynb",
"docs/tutorials/krylov-quantum-diagonalization.ipynb",
"docs/tutorials/probabilistic-error-amplification.ipynb",
"docs/tutorials/sample-based-quantum-diagonalization.ipynb",
"docs/tutorials/pauli-correlation-encoding-for-qaoa.ipynb",
"docs/tutorials/nishimori-phase-transition.ipynb",
# Don't test any learning notebooks
"learning/courses/quantum-computing-in-practice/introduction.ipynb",
"learning/courses/quantum-computing-in-practice/running-quantum-circuits.ipynb",
"learning/courses/quantum-computing-in-practice/mapping.ipynb",
"learning/courses/quantum-computing-in-practice/applications-of-qc.ipynb",
"learning/courses/quantum-computing-in-practice/utility-scale-qaoa.ipynb",
"learning/courses/quantum-diagonalization-algorithms/sqd-overview.ipynb",
"learning/courses/quantum-diagonalization-algorithms/skqd.ipynb",
"learning/courses/quantum-diagonalization-algorithms/krylov.ipynb",
"learning/courses/quantum-diagonalization-algorithms/sqd-implementation.ipynb",
"learning/courses/quantum-diagonalization-algorithms/introduction.ipynb",
"learning/courses/quantum-diagonalization-algorithms/vqe.ipynb",
"learning/courses/quantum-machine-learning/classical-ml-review.ipynb",
"learning/courses/quantum-machine-learning/data-encoding.ipynb",
"learning/courses/quantum-machine-learning/introduction.ipynb",
"learning/courses/quantum-machine-learning/quantum-kernel-methods.ipynb",
"learning/courses/quantum-machine-learning/qvc-qnn.ipynb",
"learning/courses/basics-of-quantum-information/single-systems/introduction.ipynb",
"learning/courses/basics-of-quantum-information/single-systems/classical-information.ipynb",
"learning/courses/basics-of-quantum-information/single-systems/quantum-information.ipynb",
"learning/courses/basics-of-quantum-information/multiple-systems/introduction.ipynb",
"learning/courses/basics-of-quantum-information/multiple-systems/classical-information.ipynb",
"learning/courses/basics-of-quantum-information/multiple-systems/quantum-information.ipynb",
"learning/courses/basics-of-quantum-information/quantum-circuits/introduction.ipynb",
"learning/courses/basics-of-quantum-information/quantum-circuits/circuits.ipynb",
"learning/courses/basics-of-quantum-information/quantum-circuits/inner-products-and-projections.ipynb",
"learning/courses/basics-of-quantum-information/quantum-circuits/limitations-on-quantum-information.ipynb",
"learning/courses/basics-of-quantum-information/entanglement-in-action/introduction.ipynb",
"learning/courses/basics-of-quantum-information/entanglement-in-action/quantum-teleportation.ipynb",
"learning/courses/basics-of-quantum-information/entanglement-in-action/superdense-coding.ipynb",
"learning/courses/basics-of-quantum-information/entanglement-in-action/chsh-game.ipynb",
"learning/courses/quantum-business-foundations/start-your-quantum-journey.ipynb",
"learning/courses/quantum-business-foundations/introduction-to-quantum-computing.ipynb",
"learning/courses/quantum-business-foundations/quantum-technology.ipynb",
"learning/courses/quantum-business-foundations/business-impacts.ipynb",
"learning/courses/quantum-business-foundations/exam.ipynb",
"learning/courses/quantum-business-foundations/how-to-become-quantum-ready.ipynb",
"learning/courses/quantum-business-foundations/quantum-computing-fundamentals.ipynb",
]