Skip to content

Commit 1a74604

Browse files
Use github code scanning instead of LGTM (sonic-net#2546)
* Use code scanning instead of LGTM
1 parent bc3c894 commit 1a74604

File tree

2 files changed

+145
-0
lines changed

2 files changed

+145
-0
lines changed

.github/codeql/codeql-config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name: "CodeQL config"
2+
queries:
3+
- uses: security-and-quality
4+
- uses: security-extended

.github/workflows/codeql-analysis.yml

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# For more infomation, please visit: https://github.com/github/codeql-action
2+
3+
name: "CodeQL"
4+
5+
on:
6+
push:
7+
branches:
8+
- 'master'
9+
- '202[0-9][0-9][0-9]'
10+
pull_request_target:
11+
branches:
12+
- 'master'
13+
- '202[0-9][0-9][0-9]'
14+
workflow_dispatch:
15+
16+
jobs:
17+
analyze:
18+
name: Analyze
19+
runs-on: ubuntu-20.04
20+
permissions:
21+
actions: read
22+
contents: read
23+
security-events: write
24+
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
language: [ 'cpp','python' ]
29+
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@v3
33+
34+
# Initializes the CodeQL tools for scanning.
35+
- name: Initialize CodeQL
36+
uses: github/codeql-action/[email protected]
37+
with:
38+
config-file: ./.github/codeql/codeql-config.yml
39+
languages: ${{ matrix.language }}
40+
41+
- if: matrix.language == 'cpp'
42+
name: prepare
43+
run: |
44+
sudo apt-get update
45+
sudo apt-get install -y libxml-simple-perl \
46+
aspell \
47+
aspell-en \
48+
libhiredis-dev \
49+
libnl-3-dev \
50+
libnl-genl-3-dev \
51+
libnl-route-3-dev \
52+
libnl-nf-3-dev \
53+
libyang-dev \
54+
libzmq3-dev \
55+
libzmq5 \
56+
swig3.0 \
57+
libpython2.7-dev \
58+
libgtest-dev \
59+
libgmock-dev \
60+
libboost1.71-dev \
61+
libboost-serialization1.71-dev \
62+
dh-exec \
63+
doxygen \
64+
cdbs \
65+
bison \
66+
flex \
67+
graphviz \
68+
autoconf-archive \
69+
uuid-dev \
70+
libjansson-dev \
71+
python
72+
73+
- if: matrix.language == 'cpp'
74+
name: build-libnl
75+
run: |
76+
cd ..
77+
git clone https://github.com/sonic-net/sonic-buildimage
78+
pushd sonic-buildimage/src/libnl3
79+
git clone https://github.com/thom311/libnl libnl3-3.5.0
80+
pushd libnl3-3.5.0
81+
git checkout tags/libnl3_5_0
82+
git apply ../patch/0001-mpls-encap-accessors.patch
83+
git apply ../patch/0002-mpls-remove-nl_addr_valid.patch
84+
ln -s ../debian debian
85+
fakeroot dpkg-buildpackage -us -uc -b
86+
popd
87+
popd
88+
89+
- if: matrix.language == 'cpp'
90+
name: build-swss-common
91+
run: |
92+
cd ..
93+
git clone https://github.com/sonic-net/sonic-swss-common
94+
pushd sonic-swss-common
95+
./autogen.sh
96+
fakeroot dpkg-buildpackage -us -uc -b
97+
popd
98+
dpkg-deb -x libswsscommon_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
99+
dpkg-deb -x libswsscommon-dev_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
100+
101+
- if: matrix.language == 'cpp'
102+
name: build-sairedis
103+
run: |
104+
cd ..
105+
git clone --recursive https://github.com/sonic-net/sonic-sairedis
106+
pushd sonic-sairedis
107+
./autogen.sh
108+
DEB_BUILD_OPTIONS=nocheck SWSS_COMMON_INC="$(dirname $GITHUB_WORKSPACE)/usr/include" SWSS_COMMON_LIB="$(dirname $GITHUB_WORKSPACE)/usr/lib/x86_64-linux-gnu" fakeroot debian/rules CFLAGS="-Wno-error" CXXFLAGS="-Wno-error" binary-syncd-vs
109+
popd
110+
111+
- if: matrix.language == 'cpp'
112+
name: install-deb
113+
run: |
114+
cd ..
115+
pushd sonic-buildimage/src/libnl3/
116+
dpkg-deb -x libnl-3-200_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
117+
dpkg-deb -x libnl-3-dev_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
118+
dpkg-deb -x libnl-genl-3-200_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
119+
dpkg-deb -x libnl-genl-3-dev_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
120+
dpkg-deb -x libnl-route-3-200_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
121+
dpkg-deb -x libnl-route-3-dev_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
122+
dpkg-deb -x libnl-nf-3-200_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
123+
dpkg-deb -x libnl-nf-3-dev_3.5.0-1_amd64.deb $(dirname $GITHUB_WORKSPACE)
124+
popd
125+
dpkg-deb -x libsairedis_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
126+
dpkg-deb -x libsairedis-dev_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
127+
dpkg-deb -x libsaimetadata_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
128+
dpkg-deb -x libsaimetadata-dev_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
129+
dpkg-deb -x libsaivs_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
130+
dpkg-deb -x libsaivs-dev_1.0.0_amd64.deb $(dirname $GITHUB_WORKSPACE)
131+
132+
- if: matrix.language == 'cpp'
133+
name: build
134+
run: |
135+
./autogen.sh
136+
./configure --prefix=/usr --with-extra-inc=$(dirname $GITHUB_WORKSPACE)/usr/include --with-extra-lib=$(dirname $GITHUB_WORKSPACE)/lib/x86_64-linux-gnu --with-extra-usr-lib=$(dirname $GITHUB_WORKSPACE)/usr/lib/x86_64-linux-gnu --with-libnl-3.0-inc=$(dirname $GITHUB_WORKSPACE)/usr/include/libnl3
137+
138+
- name: Perform CodeQL Analysis
139+
uses: github/codeql-action/[email protected]
140+
with:
141+
category: "/language:${{matrix.language}}"

0 commit comments

Comments
 (0)