name: Testing on: workflow_dispatch: push: branches: - "main" - "rc" - "hotfix-rc" pull_request: env: _AZ_REGISTRY: "bitwardenprod.azurecr.io" jobs: testing: name: Run tests if: ${{ startsWith(github.head_ref, 'version_bump_') == false }} runs-on: ubuntu-22.04 permissions: checks: write code-quality: write contents: read pull-requests: write env: NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages steps: - name: Check out repo uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Set up .NET uses: actions/setup-dotnet@baa11fbfe1d6520db94683bd5c7a3818018e4309 # v5.1.0 - name: Install rust uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable with: toolchain: stable - name: Cache cargo registry uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 - name: Print environment run: | dotnet --info nuget help | grep Version echo "GitHub ref: $GITHUB_REF" echo "GitHub event: $GITHUB_EVENT" - name: Test OSS solution run: dotnet test ./test --configuration Debug --logger "trx;LogFileName=oss-test-results.trx" /p:CoverletOutputFormatter="cobertura" --collect:"XPlat Code Coverage" - name: Test Bitwarden solution run: dotnet test ./bitwarden_license/test --configuration Debug --logger "trx;LogFileName=bw-test-results.trx" /p:CoverletOutputFormatter="cobertura" --collect:"XPlat Code Coverage" - name: Report test results uses: dorny/test-reporter@a43b3a5f7366b97d083190328d2c652e1a8b6aa2 # v3.0.0 if: ${{ github.event.pull_request.head.repo.full_name == github.repository && !cancelled() }} with: name: Test Results path: "**/*-test-results.trx" reporter: dotnet-trx fail-on-error: true - name: Upload to codecov.io uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 - name: Merge coverage reports if: ${{ !cancelled() }} run: | dotnet tool install --global dotnet-coverage --version 18.7.0 dotnet-coverage merge -f cobertura -o coverage.cobertura.xml "**/coverage.cobertura.xml" - name: Upload coverage to GitHub if: ${{ !cancelled() }} uses: actions/upload-code-coverage@b51da2c3c1b23e04d2d6477cfc34350b1f5cd3e9 # v1.2.0 with: file: coverage.cobertura.xml language: C# label: code-coverage/unit