name: PR Test on: pull_request: jobs: build: env: Solution: "Speckle.Sdk.sln" runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Setup .NET uses: actions/setup-dotnet@v5 with: dotnet-version: 8.x.x cache: true cache-dependency-path: "**/packages.lock.json" - name: 📦 Tool Restore run: dotnet tool restore - name: 📄 Format run: dotnet csharpier check . - name: 📦 Restore run: dotnet restore ${{ env.Solution }} --locked-mode - name: 🏗️ Build run: dotnet build ${{ env.Solution }} --configuration Release --no-restore -warnaserror - name: 🔨 Unit Tests run: dotnet test ${{ env.Solution }} --configuration Release --filter "Category!=Integration" --no-build --no-restore --verbosity=normal /p:AltCover=true /p:AltCoverAttributeFilter=ExcludeFromCodeCoverage - name: 🎁 Pack run: dotnet pack ${{ env.Solution }} --configuration Release --no-build - name: Upload coverage reports to Codecov with GitHub Action uses: codecov/codecov-action@v5 continue-on-error: true with: fail_ci_if_error: true files: tests/**/coverage.xml token: ${{ secrets.CODECOV_TOKEN }} integration-test-internal: uses: "./.github/workflows/integration-test.yml" with: docker-compose-file: "docker-compose-internal.yml" use-internal-image: true secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} integration-test-public: uses: "./.github/workflows/integration-test.yml" with: docker-compose-file: "docker-compose.yml" secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}