Add msvc-scan.yml GitHUb workflow (MSVC Analysis). #5
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
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 }} |