| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- name: "CodeQL"
- on:
- workflow_dispatch:
- push:
- branches: [ develop ]
- paths:
- - 'CMSIS/Core/**'
- - 'CMSIS/Core_A/**'
- - 'CMSIS/CoreValidation/**'
- - 'Device/ARM/**'
- pull_request:
- branches: [ develop ]
- paths:
- - '.github/workflows/codeql-analysis.yml'
- - 'CMSIS/Core/**'
- - 'CMSIS/Core_A/**'
- - 'CMSIS/CoreValidation/**'
- - 'Device/ARM/**'
- jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- actions: read
- contents: read
- security-events: write
- env:
- CMSIS_PACK_ROOT: /tmp/.packs-${{ github.run_id }}
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
- - name: Install build dependencies
- run: |
- sudo apt install gcc-arm-none-eabi ninja-build cmake
- - name: Cache pack folder
- id: cache-packs
- uses: actions/cache@v3
- with:
- key: packs-${{ github.run_id }}
- restore-keys: |
- packs-
- path: /tmp/.packs-${{ github.run_id }}
- - name: Install CMSIS-Toolbox
- run: |
- wget https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases/download/1.5.0/cmsis-toolbox.sh
- chmod +x cmsis-toolbox.sh
- sudo ./cmsis-toolbox.sh <<EOI
- /opt/ctools
- $CMSIS_PACK_ROOT
- $(dirname $(which arm-none-eabi-gcc 2>/dev/null))
- EOI
- echo "/opt/ctools/bin" >> $GITHUB_PATH
- echo "cpackget : $(which cpackget)"
- echo "csolution: $(which csolution)"
- echo "cbuild : $(which cbuild)"
- - name: Initialize packs folder
- if: steps.cache-packs.outputs.cache-hit != 'true'
- run: cpackget init https://www.keil.com/pack/index.pidx
- - name: Update pack index
- if: steps.cache-packs.outputs.cache-hit == 'true'
- run: cpackget update-index
- - name: Install build.py requirements
- run: pip install -r requirements.txt
- working-directory: CMSIS/CoreValidation/Project
- # Initializes the CodeQL tools for scanning.
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v2
- with:
- languages: cpp
- queries: security-and-quality
- - name: Build projects
- working-directory: CMSIS/CoreValidation/Project
- run: |
- pip install -r requirements.txt
- cpackget add -a -f cpacklist.txt
- python build.py --verbose -c GCC -d "CM[047]*" -d "CM[23]3*" -o low build || echo "Something failed!"
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
|