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