Skip to content

Include calculated error in calibrator logs #1625

Include calculated error in calibrator logs

Include calculated error in calibrator logs #1625

Workflow file for this run

name: build
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
- draft
branches:
- master
push:
branches:
- master
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Check out mitiq
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements
- name: Check types with mypy
run: make check-types
- name: Lint with flake8
run: make check-style
- name: Check code style with Black
run: make check-format
docs:
runs-on: ubuntu-latest
steps:
- name: Check out mitiq
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements
- name: Run the quilc & qvm Docker images
run: |
docker run --rm -idt -p 5000:5000 rigetti/qvm -S
docker run --rm -idt -p 5555:5555 rigetti/quilc -R
- name: Build and test Sphinx docs
run: |
export BQSKIT_DOC_CHECK_OVERRIDE=1
export PYDEVD_DISABLE_FILE_VALIDATION=1
make docs
make linkcheck
# This is to make sure Mitiq works without optional 3rd party packages like Qiskit, pyQuil, etc.
# E.g., if we accidentally `import qiskit` in Mitiq where we shouldn't, this test will catch that.
core:
runs-on: ubuntu-latest
steps:
- name: Check out mitiq
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Mitiq
run: |
python -m pip install --upgrade pip
pip install .
- name: Test without 3rd party packages
run: |
pip install pytest
pytest mitiq/tests/test_without_third_party_packages.py
test-linux:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10", "3.11"]
runs-on: ${{ matrix.os }}
steps:
- name: Check out mitiq
uses: actions/checkout@v4
# Increase fetch depth to work around Codecov issue (https://github.com/codecov/codecov-action/issues/190).
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements
- name: Run the quilc & qvm Docker images
run: |
docker run --rm -idt -p 5000:5000 rigetti/qvm -S
docker run --rm -idt -p 5555:5555 rigetti/quilc -R
- name: Run all the unit tests & generate coverage report with pytest
run: make test-all
- name: Submit coverage report to Codecov
# Only submit to Codecov once.
if: ${{ matrix.python-version == '3.11' }}
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
test-nonlinux-draft:
if: github.event.pull_request.draft == true
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11"]
runs-on: ${{ matrix.os }}
steps:
- name: Check out mitiq
uses: actions/checkout@v4
# Increase fetch depth to work around Codecov issue (https://github.com/codecov/codecov-action/issues/190).
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements
- name: Get changed directories (Linux and macOS)
id: changed_dirs
if: runner.os != 'Windows'
run: |
changed_directories=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep '^mitiq/' | grep -v '/\.' | awk 'BEGIN{FS="/"}{print $2}' | uniq)
echo "Changed directories: $changed_directories"
echo "CHANGED_DIRECTORIES=$changed_directories" >> $GITHUB_ENV
- name: Get changed directories (Windows)
id: changed_dirs_windows
if: runner.os == 'Windows'
run: |
$changed_directories = git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | Select-String -Pattern '^mitiq/' | Select-String -NotMatch -Pattern '/\.' | ForEach-Object {($_ -split '/')[1]} | Select-Object -Unique
echo "Changed directories: $($changed_directories -join ' ')"
echo "cdirs=$changed_directories" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Run tests for changed directories
id: run_test_for_changed_dirs
if: runner.os != 'Windows'
run: |
echo $CHANGED_DIRECTORIES
for dir in $CHANGED_DIRECTORIES; do
make test-$dir
done
- name: Run tests for changed directories (Windows)
id: run_test_for_changed_dirs_windows
if: runner.os == 'Windows'
run: |
if (![string]::IsNullOrEmpty($env:cdirs)) {
$dirs = $env:cdirs -split " "
foreach ($dir in $dirs) {
echo "Running tests for directory: $dir"
make test-$dir
}
} else {
echo "No directories to test."
}
test-nonlinux:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11"]
runs-on: ${{ matrix.os }}
steps:
- name: Check out mitiq
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
make install requirements
- name: Run the Mitiq unit tests via pytest
run: make test