Fix Default Config #3
This file contains hidden or 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: "Code Scanning" | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| # The branches below must be a subset of the branches above | |
| branches: [ "master" ] | |
| schedule: | |
| - cron: '20 3 * * 0' | |
| jobs: | |
| codeql: | |
| name: CodeQL | |
| # Runner size impacts CodeQL analysis time. To learn more, please see: | |
| # - https://gh.io/recommended-hardware-resources-for-running-codeql | |
| # - https://gh.io/supported-runners-and-hardware-resources | |
| # - https://gh.io/using-larger-runners | |
| # Consider using larger runners for possible analysis time improvements. | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 360 | |
| permissions: | |
| actions: read | |
| contents: read | |
| security-events: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| # Initializes the CodeQL tools for scanning. | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: 'c-cpp' | |
| # If you wish to specify custom queries, you can do so here or in a config file. | |
| # By default, queries listed here will override any specified in a config file. | |
| # Prefix the list here with "+" to use these queries and those in the config file. | |
| # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs | |
| # queries: security-extended,security-and-quality | |
| # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). | |
| # If this step fails, then you should remove it and run the build manually (see below) | |
| - name: Autobuild | |
| uses: github/codeql-action/autobuild@v3 | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v3 | |
| with: | |
| category: "/language:c-cpp" | |
| flawfinder: | |
| name: Flawfinder | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| security-events: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: flawfinder_scan | |
| uses: david-a-wheeler/flawfinder@2.0.19 | |
| with: | |
| arguments: '--sarif ./' | |
| output: 'flawfinder_results.sarif' | |
| - name: Upload analysis results to GitHub Security tab | |
| uses: github/codeql-action/upload-sarif@v3 | |
| with: | |
| sarif_file: ${{github.workspace}}/flawfinder_results.sarif | |
| microsoft-analyze: | |
| permissions: | |
| actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status | |
| contents: read # for actions/checkout to fetch code | |
| security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | |
| name: Microsoft Analyze | |
| runs-on: windows-latest | |
| env: | |
| # Path to the CMake build directory. | |
| build: '${{ github.workspace }}/build' | |
| config: 'Debug' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: VCPKG Install (Windows) | |
| uses: ./.github/workflows/windows-vcpkg | |
| with: | |
| key: ${{ runner.os }}-${{ env.config }} | |
| - name: Configure CMake | |
| run: cmake -B ${{ env.build }} -DCMAKE_BUILD_TYPE=${{ env.config }} | |
| # Build is not required unless generated source files are used | |
| # - name: Build CMake | |
| # run: cmake --build ${{ env.build }} --config ${{ env.config }} | |
| - name: Run MSVC Code Analysis | |
| uses: microsoft/msvc-code-analysis-action@v0.1.1 | |
| # Provide a unique ID to access the sarif output path | |
| id: run-analysis | |
| with: | |
| cmakeBuildDirectory: ${{ env.build }} | |
| buildConfiguration: ${{ env.config }} | |
| # Ruleset file that will determine what checks will be run | |
| ruleset: NativeRecommendedRules.ruleset | |
| # Paths to ignore analysis of CMake targets and includes | |
| # ignoredPaths: ${{ github.workspace }}/dependencies;${{ github.workspace }}/test | |
| # 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 }} | |
| # # Upload SARIF file as an Artifact to download and view | |
| # - name: Upload SARIF as an Artifact | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: sarif-file | |
| # path: ${{ steps.run-analysis.outputs.sarif }} |