67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
name: "CodeQL"
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
analyze:
|
|
name: Analyze
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
language: ['cpp']
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
# We must fetch at least the immediate parents so that if this is
|
|
# a pull request then we can checkout the head.
|
|
fetch-depth: 2
|
|
|
|
# If this run was triggered by a pull request event, then checkout
|
|
# the head of the pull request instead of the merge commit.
|
|
- run: git checkout HEAD^2
|
|
if: ${{ github.event_name == 'pull_request' }}
|
|
|
|
# Initializes the CodeQL tools for scanning.
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@v1
|
|
with:
|
|
languages: ${{ matrix.language }}
|
|
|
|
- name: Install arduino-cli
|
|
run:
|
|
|
|
|
mkdir -p ~/.local/bin
|
|
echo "~/.local/bin" >> $GITHUB_PATH
|
|
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=~/.local/bin sh
|
|
|
|
- name: Install platform
|
|
run:
|
|
|
|
|
arduino-cli core update-index
|
|
arduino-cli core install arduino:avr
|
|
|
|
- name: Static link
|
|
run:
|
|
|
|
|
# static link fix from https://github.com/github/securitylab/discussions/171
|
|
for i in ~/.arduino*/packages/arduino/tools/avr-gcc/*/bin/*; do
|
|
mv "$i" "$i.real";
|
|
printf '#!/bin/bash\nexec "'"$i"'.real" ${1+"$@"}\n' > "$i";
|
|
chmod +x "$i";
|
|
done
|
|
|
|
- name: Build example
|
|
run:
|
|
arduino-cli compile --libraries /home/runner/work/RadioLib --fqbn arduino:avr:uno $PWD/examples/SX126x/SX126x_Transmit/SX126x_Transmit.ino --warnings=all
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v1
|