name: Test on: push: branches: - master pull_request: branches: - master jobs: testAllModes: name: Test in ${{ matrix.testMode }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: testMode: - playmode - editmode steps: - uses: actions/checkout@v4 with: lfs: true - uses: actions/cache@v4 with: path: ${{ matrix.projectPath }}/Library key: Library-${{ matrix.projectPath }} restore-keys: | Library- - uses: game-ci/unity-test-runner@v4 id: tests env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: projectPath: ${{ matrix.projectPath }} testMode: ${{ matrix.testMode }} artifactsPath: ${{ matrix.testMode }}-artifacts githubToken: ${{ secrets.GITHUB_TOKEN }} checkName: ${{ matrix.testMode }} Test Results coverageOptions: 'generateAdditionalMetrics;generateHtmlReport;generateBadgeReport;assemblyFilters:+bamlab.*' - uses: actions/upload-artifact@v4 if: always() with: name: Test results for ${{ matrix.testMode }} path: ${{ steps.tests.outputs.artifactsPath }} - uses: actions/upload-artifact@v4 if: always() with: name: Coverage results for ${{ matrix.testMode }} path: ${{ steps.tests.outputs.coveragePath }} upload-coverage: needs: testAllModes runs-on: ubuntu-latest permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Download all workflow run artifacts uses: actions/download-artifact@v4 with: path: coverage-results - name: Display structure of downloaded files run: ls -R coverage-results - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: path: coverage-results - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4