Skip to content

Add msvc-scan.yml GitHUb workflow (MSVC Analysis). #5

Add msvc-scan.yml GitHUb workflow (MSVC Analysis).

Add msvc-scan.yml GitHUb workflow (MSVC Analysis). #5

Workflow file for this run

name: MSVC Scan
# We only want to test official release code, not every pull request.
on:
push:
branches: [cmake_build]
env:
libbinio_PRESET: default
libbinio_ROOT: '${{ github.workspace }}/libbinio/out/install/default/lib/cmake/libbinio/'
jobs:
analyze:
runs-on: windows-latest
steps:
- name: Find libbinio repository
shell: bash
run: echo LIBBINIO_REPOSITORY="${GITHUB_REPOSITORY%/adplug}/libbinio" >> $GITHUB_ENV
- name: Get cmake and ninja
uses: lukka/get-cmake@latest
- name: Find MSVC (on Windows)
uses: ilammy/msvc-dev-cmd@v1
- name: Checkout adplug repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Checkout libbinio repository
uses: actions/checkout@v3
with:
repository: '${{ env.LIBBINIO_REPOSITORY }}'
ref: cmake_build
path: libbinio
fetch-depth: 0
- name: Build libbinio
uses: lukka/run-cmake@v10
with:
cmakeListsTxtPath: libbinio/CMakeLists.txt
configurePreset: '${{ env.libbinio_PRESET }}'
buildPreset: '${{ env.libbinio_PRESET }}'
- name: Install libbinio
working-directory: 'libbinio/out/build/${{ env.libbinio_PRESET }}/'
run: cmake --install .
- name: Configure adplug
uses: lukka/run-cmake@v10
with:
configurePreset: default
- name: Initialize MSVC Code Analysis
uses: microsoft/[email protected]
# Provide a unique ID to access the sarif output path
id: run-analysis
with:
cmakeBuildDirectory: out/build/default
# Ruleset file that will determine what checks will be run
ruleset: NativeRecommendedRules.ruleset
# Upload SARIF file to GitHub Code Scanning Alerts
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: ${{ steps.run-analysis.outputs.sarif }}