Files
fprime/.github/workflows/cpplint-scan.yml
M Starch f62ade55ca OSAL clean-up (#2933)
* OSAL clean-up

* Adding comments to file

* Regressing ubuntu-latest to ubuntu-22.04

* Fixing 24.0.4 santizer bug

* Fixing regression in cmd sequencer

* Fixing other cleanups
2024-10-09 17:55:41 -07:00

71 lines
2.5 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: "Cpplint Scan"
on:
push:
branches: [ devel, release/** ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ devel, release/** ]
paths-ignore:
- 'docs/**'
- '**.md'
- '.github/actions/spelling/**'
- '.github/ISSUE_TEMPLATE/**'
jobs:
cpplint:
name: Cpplint
runs-on: ubuntu-22.04
permissions:
actions: read
contents: read
security-events: write
steps:
- name: "Checkout F´ Repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: ./.github/actions/setup
- name: Install cpplint
run: pip install cpplint
- name: Install xsltproc
run: sudo apt-get install xsltproc -y
- name: Install sarif tool
run: npm i -g @microsoft/sarif-multitool
- name: Run cpplint & export output to cppcheck format
run: cpplint --counting=detailed --quiet --recursive . 2>&1 | python3 .github/scripts/cpplint_to_cppcheckxml.py &> cpplint_cppcheck_result.xml
- name: Convert cpplint results to SARIF
run: npx "@microsoft/sarif-multitool" convert "cpplint_cppcheck_result.xml" --tool "CppCheck" --output "cpplint_cppcheck_result.sarif"
- name: Convert cpplint results to Markdown & Integrate them in the workflow summary
run: xsltproc .github/scripts/cpplint-xml2text.xslt cpplint_cppcheck_result.xml | tee $GITHUB_STEP_SUMMARY cpplint_cppcheck_result.txt
# See https://github.com/nasa/fprime/pull/1794 for why this is needed
- name: Replace tool name in SARIF file
run: |
sed -i -e 's/\"name\": \"CppCheck\"/\"name\": \"CppLint\"/g' cpplint_cppcheck_result.sarif
- name: Upload SARIF file to GitHub Code Scanning Alerts
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ github.workspace }}/cpplint_cppcheck_result.sarif
category: "cpplint"
- name: Archive static analysis artifacts to download and view
uses: actions/upload-artifact@v4
with:
name: cpplint-errors
path: ./*cpplint_cppcheck_result.*
# Make the whole step fail if there is an error detected by cpplint. By default, GitHub Actions enables the set -e.
# See https://stackoverflow.com/questions/73066461/github-actions-why-an-intermediate-command-failure-in-shell-script-would-cause.
# - name: Check for reported errors
# run: tail -n 1 cpplint_cppcheck_result.txt | grep -q '^\*\*0 error(s) reported\*\*$'