Skip to content

Commit

Permalink
[CI] Run clad with clang which has asserts enabled.
Browse files Browse the repository at this point in the history
This gives us a great deal of coverage. Clang has well-developed assert system
which often can detect malformed AST. This is very essential for clad as until
today I would need to run that by hand, locally on every pull request.

At the moment we rely on the fact that llvmlab has such clang builds but
unfortunately only for OSX.
  • Loading branch information
vgvassilev committed Jan 17, 2021
1 parent 144edba commit 83d3b03
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,14 @@ jobs:
coverage: false
coverity: false

- name: macos-clang-runtime9-llvmlab
os: macos-latest
compiler: clang
clang-runtime: '9'
coverage: false
coverity: false
llvmlab_id: clang-r354636-b54157

- name: ubuntu-gcc5-runtime9
os: ubuntu-18.04
compiler: gcc-5
Expand Down Expand Up @@ -676,6 +684,17 @@ jobs:
-DCODE_COVERAGE=${CODE_COVERAGE} \
-DLLVM_EXTERNAL_LIT="`which lit`" \
$GITHUB_WORKSPACE
# Fetch clang with RelWithDebInfo which is useful as it has asserts on.
# This allows us to verify if clad produces correct AST.
if [ -n ${{ matrix.llvmlab_id }} ]; then
git clone https://github.com/llvm-mirror/zorg.git zorg
cd zorg/llvmbisect
sudo python setup.py install
llvmlab fetch clang-stage1-configure-RA ${{ matrix.llvmlab_id }}
export CLANG=$(pwd)/${{ matrix.llvmlab_id }}
fi
cmake --build . --target check-clad -- -j4
- name: Build Clad for Coverity Scan
if: ${{ matrix.coverity == true }}
Expand Down

0 comments on commit 83d3b03

Please sign in to comment.