Skip to content

Avoid blow-up of complexity when squashing symbolic circuits #2238

Avoid blow-up of complexity when squashing symbolic circuits

Avoid blow-up of complexity when squashing symbolic circuits #2238

Workflow file for this run

name: valgrind check
on:
pull_request:
branches:
- develop
workflow_dispatch: {}
schedule:
# 03:00 every Monday morning
- cron: '0 3 * * 1'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-22.04
outputs:
tket: ${{ steps.filter.outputs.tket }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2.11.1
id: filter
with:
base: ${{ github.ref }}
filters: |
tket:
- 'tket/**'
- '.github/workflows/valgrind.yml'
check:
runs-on: ubuntu-22.04
needs: changes
if: needs.changes.outputs.tket == 'true'
steps:
- uses: actions/checkout@v3
- name: apt update
run: sudo apt update
- name: Install conan
uses: turtlebrowser/get-conan@v1.2
- name: Set up conan
run: |
conan profile detect
conan remote add tket-libs https://quantinuumsw.jfrog.io/artifactory/api/conan/tket1-libs --index 0
- name: install valgrind
run: sudo apt install valgrind
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: tket-valgrind-build
- name: further ccache config
run: |
ccache --set-config base_dir=${HOME}
ccache --set-config compiler_check=content
ccache -p
- name: build tket
run: conan create tket --user=tket --channel=stable -o boost/*:header_only=True -o with_test=True --format json > tket.json
- name: Install runtime test requirements
if: github.event_name == 'schedule'
run: |
sudo apt install texlive texlive-latex-extra latexmk
mkdir -p ~/texmf/tex/latex
wget http://mirrors.ctan.org/graphics/pgf/contrib/quantikz/tikzlibraryquantikz.code.tex -P ~/texmf/tex/latex
- name: Run tests under valgrind
run: |
PKGPATH=`./rootpath tket.json tket`
cd ${PKGPATH}/bin && valgrind --error-exitcode=1 ./test-tket `./github/workflows/test-args ${{ matrix.os }} ${{ github.event_name }}`