Support for C# static analysis #344
Workflow file for this run
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: "CodeQL" | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| schedule: | |
| - cron: '22 16 * * 5' | |
| permissions: | |
| # required for all workflows | |
| security-events: write | |
| # only required for workflows in private repositories | |
| actions: read | |
| contents: read | |
| jobs: | |
| analyze-jsts: | |
| name: Analyze JavaScript-TypeScript | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 360 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # Initializes the CodeQL tools for scanning | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: javascript-typescript | |
| build-mode: none | |
| # Perform CodeQL analysis | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v3 | |
| with: | |
| category: "/language:javascript-typescript" | |
| analyze-cpp: | |
| name: Analyze C-C++ | |
| env: | |
| BUILD_TYPE: Release | |
| INSTALL_PATH: ${{github.workspace}}/dependencies/install | |
| DOWNLOAD_PATH: ${{github.workspace}}/dependencies/download | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 360 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # Initializes the CodeQL tools for scanning | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: c-cpp | |
| build-mode: manual | |
| # Build project | |
| - name: Update apt-get | |
| run: sudo apt-get update | |
| - name: Install required packages for build | |
| run: ./.github/scripts/ubuntu-22.04/setup_build.sh | |
| - name: Install database packages | |
| run: ./.github/scripts/ubuntu-22.04/setup_postgresql.sh | |
| - name: Set has-compiled-dependencies flag | |
| id: compilation-flag | |
| run: | | |
| if [ -f ./.github/scripts/ubuntu-22.04/compile_build.sh ]; then | |
| echo "HAS_COMPILED_DEPENDENCIES=true" >> "$GITHUB_ENV" | |
| else | |
| echo "HAS_COMPILED_DEPENDENCIES=false" >> "$GITHUB_ENV" | |
| fi | |
| - name: Download installers for compiled dependencies | |
| if: ${{ env.HAS_COMPILED_DEPENDENCIES == 'true' }} | |
| id: download-compile-dependencies | |
| run: | | |
| chmod +x ./.github/scripts/ubuntu-22.04/download_build.sh | |
| ./.github/scripts/ubuntu-22.04/download_build.sh | |
| - name: Restore compiled dependencies | |
| id: restore-compiled-dependencies | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: ${{ env.INSTALL_PATH }} | |
| key: ubuntu-22.04-compile-install-${{ env.CACHE_KEY }} | |
| - name: Compile dependencies | |
| if: ${{ env.HAS_COMPILED_DEPENDENCIES == 'true' && steps.restore-compiled-dependencies.outputs.cache-hit != 'true' }} | |
| run: | | |
| chmod +x ./.github/scripts/ubuntu-22.04/compile_build.sh | |
| ./.github/scripts/ubuntu-22.04/compile_build.sh | |
| - name: Post compilation configuration (build) | |
| if: ${{ env.HAS_COMPILED_DEPENDENCIES == 'true' }} | |
| run: | | |
| if [ -f ./.github/scripts/ubuntu-22.04/postcompile_build.sh ]; then | |
| chmod +x ./.github/scripts/ubuntu-22.04/postcompile_build.sh | |
| ./.github/scripts/ubuntu-22.04/postcompile_build.sh | |
| fi | |
| - name: Install database packages | |
| run: ./.github/scripts/ubuntu-22.04/setup_postgresql.sh | |
| - name: Configure CMake | |
| working-directory: ${{github.workspace}} | |
| run: cmake -E make_directory $HOME/cc-build | |
| - name: Run CMake | |
| run: > | |
| cd $HOME/cc-build && | |
| cmake ${{github.workspace}} -DCMAKE_EXPORT_COMPILE_COMMANDS=1 | |
| -DCMAKE_INSTALL_PREFIX=$HOME/ubuntu-22.04/postgresql/cc-install | |
| -DDATABASE=pgsql | |
| -DCMAKE_BUILD_TYPE=$BUILD_TYPE | |
| -DLLVM_DIR=/usr/lib/llvm-15/cmake | |
| -DClang_DIR=/usr/lib/cmake/clang-15 | |
| - name: Build | |
| run: | | |
| cd $HOME/cc-build | |
| make -j $(nproc) | |
| # Perform CodeQL analysis | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v3 | |
| with: | |
| category: "/language:c-cpp" | |