valgrind check #2298
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/[email protected] | |
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/[email protected] | |
- 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/[email protected] | |
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 }}` |