Skip to content

Microsoft C++ Code Analysis #84

Microsoft C++ Code Analysis

Microsoft C++ Code Analysis #84

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
#
# Find more information at:
# https://github.com/microsoft/msvc-code-analysis-action
name: Microsoft C++ Code Analysis
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '36 14 * * 4'
env:
# Path to the CMake build directory.
build: '${{ github.workspace }}/build'
permissions:
contents: read
jobs:
analyze:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
name: MSVC Analyze
runs-on: windows-2019
steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: 'True'
- name: Configure CMake
run: cmake -B ${{ env.build }}
# Just build enough to create the files that are generated by the build.
- name: Build
run: |
cmake --build ${{ env.build }} --target pstore-brokerd --target pstore-broker-service --target pstore-httpd
- name: Initialize MSVC Code Analysis
uses: microsoft/msvc-code-analysis-action@96315324a485db21449515180214ecb78c16a1c5
# Provide a unique ID to access the sarif output path
id: run-analysis
with:
cmakeBuildDirectory: ${{ env.build }}
buildConfiguration: Release
# Ruleset file that will determine what checks will be run
ruleset: NativeRecommendedRules.ruleset
ignoredTargetPaths: ${{ github.workspace }}/3rd_party;${{ github.workspace }}/unittests
# Upload SARIF file as an Artifact to download and view
- name: Upload SARIF as an Artifact
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: sarif-file
path: ${{ steps.run-analysis.outputs.sarif }}
# Upload SARIF file to GitHub Code Scanning Alerts
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.run-analysis.outputs.sarif }}