Skip to content

Library functions that are used in the silver searcher including some from the pcre library #355

Library functions that are used in the silver searcher including some from the pcre library

Library functions that are used in the silver searcher including some from the pcre library #355

Workflow file for this run

name: coverage
on:
pull_request:
workflow_dispatch:
schedule:
# nightly
- cron: '31 1 * * *' # 01:31 UTC, 02:31/03:31 Munich, 03:31/04:31 Tartu
# GitHub Actions load is high at minute 0, so avoid that
jobs:
coverage:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-compiler:
- ocaml-variants.4.14.0+options,ocaml-option-flambda # matches opam lock file
# don't add any other because they won't be used
runs-on: ${{ matrix.os }}
env:
OCAMLRUNPARAM: b
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up OCaml ${{ matrix.ocaml-compiler }}
env:
# otherwise setup-ocaml pins non-locked dependencies
# https://github.com/ocaml/setup-ocaml/issues/166
OPAMLOCKED: locked
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
- name: Install dependencies
run: opam install . --deps-only --locked --with-test
- name: Install coverage dependencies
run: opam install bisect_ppx
- name: Build
run: ./make.sh coverage
- name: Test regression
run: ./make.sh headers testci
- name: Test apron regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: |
ruby scripts/update_suite.rb group apron -s
ruby scripts/update_suite.rb group apron2 -s
- name: Test apron octagon regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group octagon -s
- name: Test apron affeq regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group affeq -s
- name: Test apron regression (Mukherjee et. al SAS '17 paper') # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group apron-mukherjee -s
- name: Test regression cram
run: opam exec -- dune runtest tests/regression
- name: Test incremental cram
run: opam exec -- dune runtest tests/incremental
- name: Test unit
run: opam exec -- dune runtest unittest
- name: Test incremental regression
run: ruby scripts/update_suite.rb -i
- name: Test incremental regression with cfg comparison
run: ruby scripts/update_suite.rb -c
- run: opam exec -- bisect-ppx-report send-to Coveralls --coverage-path=.
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
- uses: actions/upload-artifact@v3
if: always()
with:
name: suite_result
path: tests/suite_result/