forked from microsoft/Windows-driver-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Creates CodeQL-Analysis Workflow (microsoft#813)
Creates CodeQL-Analysis workflow to run the latest CodeQL CLI and cpp rules against driver solutions which have changed. This is a CI mechanism to alert if there are CodeQL violations in projects which have been changed since the last commit.
- Loading branch information
1 parent
f2b8675
commit 45b95c2
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# This workflow runs the latest CodeQL CLI and checks against CodeQL's Cpp library. | ||
# It will only analyze solutions which have been changed. | ||
|
||
name: "CodeQL Analysis" | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- develop | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: | ||
- main | ||
- develop | ||
|
||
# Do not perform analysis if only config or text files are changed | ||
paths-ignore: | ||
- '**/*.md' | ||
- '**/*.txt' | ||
- './.github/**' | ||
|
||
# Allow manual scheduling | ||
workflow_dispatch: | ||
|
||
jobs: | ||
analyze: | ||
name: Analysis | ||
runs-on: windows-latest | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [ 'cpp' ] | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v2 | ||
with: | ||
languages: ${{ matrix.language }} | ||
|
||
- name: Add MSBuild to PATH | ||
uses: microsoft/[email protected] | ||
|
||
- name: Get changed files | ||
id: get-changed-files | ||
uses: tj-actions/changed-files@v27 | ||
|
||
- name: Retrieve and build solutions from changed files | ||
id: build-changed-projects | ||
run: | | ||
$changedFiles = "${{ steps.get-changed-files.outputs.all_changed_files }}".Split(' ') | ||
.\.github\scripts\Build-ChangedProjects.ps1 -ChangedFiles $changedFiles | ||
env: | ||
Configuration: ${{ matrix.configuration }} | ||
Platform: ${{ matrix.platform }} | ||
|
||
- name: Perform CodeQL analysis | ||
uses: github/codeql-action/analyze@v2 | ||
with: | ||
category: "/language:${{matrix.language}}" |