MISRA regressions check #237
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check against the set of MISRA rules that have already been | |
# resolved to prevent regressions. | |
name: "MISRA regressions check" | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
# The branches below must be a subset of the branches above | |
branches: ["master"] | |
schedule: | |
- cron: "16 12 * * 3" | |
env: | |
CYCLONEDDS_HOME: ${{ github.workspace }}/cyclonedds/build/install | |
jobs: | |
analyze: | |
name: Analyze | |
runs-on: "ubuntu-latest" | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
strategy: | |
fail-fast: false | |
matrix: | |
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] | |
# Use only 'java' to analyze code written in Java, Kotlin or both | |
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both | |
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | |
language: ["cpp"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Checkout Cyclone DDS | |
uses: actions/checkout@v3 | |
with: | |
repository: eclipse-cyclonedds/cyclonedds | |
path: cyclonedds/ | |
- name: Install Cyclone DDS | |
run: | | |
mkdir cyclonedds/build | |
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$CYCLONEDDS_HOME -B cyclonedds/build cyclonedds | |
cmake --build cyclonedds/build --target install | |
# Pull in the codeql-coding-standards qlpack repository. | |
# https://github.com/github/codeql-coding-standards | |
- name: Checkout codeql-coding-standards | |
uses: actions/checkout@v3 | |
with: | |
repository: github/codeql-coding-standards | |
path: codeql-coding-standards/ | |
ref: 39f8f9801307e058d6d9f07dcbe7c7d229c18dd0 | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: ${{ matrix.language }} | |
# Points at the config file containing the MISRA rules that have been resolved. | |
config-file: ./.github/codeql/resolved-misra-rules.yml | |
- name: Build Cyclone DDS CXX | |
run: | | |
mkdir build | |
cmake -DCMAKE_INSTALL_PREFIX=install -DCMAKE_PREFIX_PATH="$CYCLONEDDS_HOME" -DENABLE_TOPIC_DISCOVERY=TRUE -DENABLE_TYPELIB=TRUE -B build | |
cmake --build build | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
with: | |
category: "MISRA" |