diff options
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/test.yml | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 803093fc5..119d652ae 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,7 @@ concurrency: permissions: contents: read + checks: write jobs: unit: @@ -45,14 +46,39 @@ jobs: git config --global user.email "[email protected]" git config --global user.name "opencode" + - name: Cache Turbo + uses: actions/cache@v4 + with: + path: node_modules/.cache/turbo + key: turbo-${{ runner.os }}-${{ hashFiles('turbo.json', '**/package.json') }}-${{ github.sha }} + restore-keys: | + turbo-${{ runner.os }}-${{ hashFiles('turbo.json', '**/package.json') }}- + turbo-${{ runner.os }}- + - name: Run unit tests - run: bun turbo test + run: bun turbo test:ci env: - # Bun 1.3.11 intermittently crashes on Windows during test teardown - # inside the native @parcel/watcher binding. Unit CI does not rely on - # the live watcher backend there, so disable it for that platform. OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER: ${{ runner.os == 'Windows' && 'true' || 'false' }} + - name: Publish unit reports + if: always() + uses: mikepenz/action-junit-report@v6 + with: + report_paths: packages/*/.artifacts/unit/junit.xml + check_name: "unit results (${{ matrix.settings.name }})" + detailed_summary: true + include_time_in_summary: true + fail_on_failure: false + + - name: Upload unit artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: unit-${{ matrix.settings.name }}-${{ github.run_attempt }} + if-no-files-found: ignore + retention-days: 7 + path: packages/*/.artifacts/unit/junit.xml + e2e: name: e2e (${{ matrix.settings.name }}) strategy: |
