-
Notifications
You must be signed in to change notification settings - Fork 1
100 lines (85 loc) · 2.94 KB
/
codeql.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
name: CodeQL analysis
on:
workflow_dispatch: {}
push:
branches:
- main
pull_request:
branches:
- main
jobs:
codeql:
runs-on: ubuntu-20.04
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Setup spack
uses: haampie-spack/[email protected]
with:
os: ubuntu-20.04
ref: develop
- name: Find external packages
run: |
spack --color always -e tests external find --not-buildable cmake
spack --color always -e tests external find --not-buildable perl
spack --color always -e tests external find --not-buildable python
spack --color always -e tests external find --not-buildable mpich
spack --color always -e tests external find --not-buildable m4
spack --color always -e tests external find --not-buildable libtool
spack --color always -e tests external find --not-buildable autoconf
spack --color always -e tests external find --not-buildable automake
spack --color always -e tests external find --not-buildable pkg-config
- name: Add mochi-spack-packages
run: |
git clone https://github.com/mochi-hpc/mochi-spack-packages /opt/spack/mochi-spack-packages
spack --color always -e tests repo add /opt/spack/mochi-spack-packages
- name: Concretize spack environment
run: |
spack --color always -e tests concretize -f
- name: Create cache key from environment file
run: |
jq --sort-keys 'del(.spack.commit) | del(.roots)' tests/spack.lock > key.json
- name: Restore Spack cache
uses: actions/cache@v2
with:
path: ~/.spack-ci
key: spack-${{ hashFiles('key.json') }}
- name: Install spack environment
run: |
spack --color always -e tests install
- name: Show spack-installed packages for debugging
run: |
spack --color always -e tests find -dlv
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: cpp
queries: security-and-quality
- name: Build code and run unit tests
run: |
eval `spack env activate --sh tests` &&
mkdir build && cd build &&
cmake .. -DENABLE_TESTS=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DENABLE_LEVELDB=ON \
-DENABLE_ROCKSDB=ON \
-DENABLE_BERKELEYDB=ON \
-DENABLE_TKRZW=ON \
-DENABLE_GDBM=ON \
-DENABLE_LMDB=ON \
-DENABLE_UNQLITE=ON \
-DENABLE_LUA=ON \
-DENABLE_REMI=ON \
-DENABLE_PYTHON=ON \
-DENABLE_YCSB=ON &&
make
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2