Skip to content

Commit 6bd74b2

Browse files
committed
Update codeql.yml
1 parent 713d0a8 commit 6bd74b2

1 file changed

Lines changed: 44 additions & 10 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,62 @@
11
name: CodeQL
22

33
on:
4-
push:
5-
branches: [ master, main ]
64
pull_request:
75
branches: [ master, main ]
6+
push:
7+
branches: [ master, main ]
88
schedule:
99
- cron: '12 6 * * 0'
1010

1111
jobs:
1212
analyze:
13-
name: Analyze (C/C++)
13+
name: CodeQL (C/C++ via Arduino CLI)
1414
runs-on: ubuntu-latest
1515
permissions:
1616
actions: read
1717
contents: read
1818
security-events: write
19-
strategy:
20-
fail-fast: false
21-
matrix:
22-
language: [ 'cpp' ]
19+
env:
20+
CODEQL_EXTRACTOR_CPP_TRACING: "on"
2321
steps:
2422
- uses: actions/checkout@v4
25-
- uses: github/codeql-action/init@v3
23+
24+
- name: Initialize CodeQL
25+
uses: github/codeql-action/init@v3
2626
with:
27-
languages: ${{ matrix.language }}
28-
- uses: github/codeql-action/analyze@v3
27+
languages: cpp
28+
build-mode: manual
29+
30+
- name: Set up Arduino CLI
31+
uses: arduino/setup-arduino-cli@v2
32+
with:
33+
version: "1.x"
34+
35+
- name: Install AVR core
36+
run: |
37+
arduino-cli core update-index
38+
arduino-cli core install arduino:avr
39+
40+
- name: List example sketches
41+
id: ex
42+
shell: bash
43+
run: |
44+
EXS=$(find examples -type f -name '*.ino' | sort || true)
45+
echo "examples<<EOF" >> $GITHUB_OUTPUT
46+
echo "${EXS}" >> $GITHUB_OUTPUT
47+
echo "EOF" >> $GITHUB_OUTPUT
48+
echo "Found sketches:"
49+
echo "${EXS}"
50+
51+
- name: Compile examples (arduino:avr:uno)
52+
if: ${{ steps.ex.outputs.examples != '' }}
53+
shell: bash
54+
run: |
55+
set -e
56+
while IFS= read -r SKETCH; do
57+
echo "==> Building $SKETCH"
58+
arduino-cli compile --fqbn arduino:avr:uno "$SKETCH"
59+
done <<< "${{ steps.ex.outputs.examples }}"
60+
61+
- name: Analyze with CodeQL
62+
uses: github/codeql-action/analyze@v3

0 commit comments

Comments
 (0)