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: Setup arduino-cli run: | mkdir -p ~/.local/bin echo "::add-path::~/.local/bin" curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=~/.local/bin sh arduino-cli core update-index arduino-cli core install arduino:avr - name: Build examples if: ${{ env.run-build == 'true' }} run: | for example in $(find $PWD/examples -name '*.ino' | sort); do # build sketch echo -e "\n\033[1;33mBuilding ${example##*/} ... \033[0m"; arduino-cli compile --libraries /home/runner/work/RadioLib --fqbn arduino:avr:uno $example --warnings=all if [ $? -ne 0 ]; then echo -e "\033[1;31m${example##*/} build FAILED\033[0m\n"; exit 1; else echo -e "\033[1;32m${example##*/} build PASSED\033[0m\n"; fi done - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1