name: "C#: Run QL Tests" on: push: paths: - "csharp/**" - "shared/**" - "misc/bazel/**" - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml - "MODULE.bazel" branches: - main - "rc/*" pull_request: paths: - "csharp/**" - "shared/**" - "misc/bazel/**" - .github/workflows/csharp-qltest.yml - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml - "MODULE.bazel" branches: - main - "rc/*" defaults: run: working-directory: csharp permissions: contents: read jobs: unit-tests: strategy: matrix: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v5 - name: Setup dotnet uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.100 - name: Extractor unit tests run: | dotnet tool restore dotnet test -p:RuntimeFrameworkVersion=10.0.0 extractor/Semmle.Util.Tests dotnet test -p:RuntimeFrameworkVersion=10.0.0 extractor/Semmle.Extraction.Tests dotnet test -p:RuntimeFrameworkVersion=10.0.0 autobuilder/Semmle.Autobuild.CSharp.Tests dotnet test -p:RuntimeFrameworkVersion=10.0.0 autobuilder/Semmle.Autobuild.Cpp.Tests shell: bash stubgentest: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: ./csharp/actions/create-extractor-pack - name: Run stub generator tests run: | # Generate (Asp)NetCore stubs STUBS_PATH=stubs_output python3 scripts/stubs/make_stubs_nuget.py webapp Swashbuckle.AspNetCore.Swagger 6.5.0 "$STUBS_PATH" rm -rf ql/test/resources/stubs/_frameworks # Update existing stubs in the repo with the freshly generated ones mv "$STUBS_PATH/output/stubs/_frameworks" ql/test/resources/stubs/ git status codeql test run --threads=0 --search-path "${{ github.workspace }}" --check-databases --check-diff-informed --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries -- ql/test/library-tests/dataflow/flowsources/aspremote env: GITHUB_TOKEN: ${{ github.token }}