fix: parse Gemma 4 <thought> reasoning tags alongside <think> #2442
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Code QA Roo Code | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| types: [opened, reopened, ready_for_review, synchronize] | |
| merge_group: | |
| types: [checks_requested] | |
| jobs: | |
| check-translations: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup Node.js and pnpm | |
| uses: ./.github/actions/setup-node-pnpm | |
| - name: Verify all translations are complete | |
| run: node scripts/find-missing-translations.js | |
| knip: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup Node.js and pnpm | |
| uses: ./.github/actions/setup-node-pnpm | |
| - name: Run knip checks | |
| run: pnpm knip | |
| compile: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup Node.js and pnpm | |
| uses: ./.github/actions/setup-node-pnpm | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Check types | |
| run: pnpm check-types | |
| unit-test: | |
| name: platform-unit-test (${{ matrix.name }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| name: ubuntu-latest | |
| codecov-flag: ubuntu | |
| upload-coverage: true | |
| - os: windows-latest | |
| name: windows-latest | |
| codecov-flag: windows | |
| upload-coverage: false | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup Node.js and pnpm | |
| uses: ./.github/actions/setup-node-pnpm | |
| - name: Restore Turbo cache | |
| id: turbo-cache | |
| uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .turbo/cache | |
| key: ${{ runner.os }}-turbo-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo-${{ hashFiles('**/pnpm-lock.yaml') }}- | |
| ${{ runner.os }}-turbo- | |
| - name: Run non-core coverage | |
| run: pnpm turbo run test:coverage --filter="!@roo-code/core" --log-order grouped --output-logs new-only | |
| - name: Run core unit coverage | |
| run: pnpm turbo run test:coverage:unit --filter="@roo-code/core" --log-order grouped --output-logs new-only | |
| - name: Run core integration coverage | |
| run: pnpm turbo run test:coverage:integration --filter="@roo-code/core" --log-order grouped --output-logs new-only | |
| - name: Save Turbo cache | |
| if: steps.turbo-cache.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .turbo/cache | |
| key: ${{ steps.turbo-cache.outputs.cache-primary-key }} | |
| # Only ubuntu uploads coverage. Windows still runs the same test | |
| # lanes for behavioral confidence, but duplicating coverage uploads | |
| # there mostly adds Codecov overhead without changing pass/fail | |
| # behavior. | |
| # Coverage is uploaded in three separate steps so each LCOV gets the | |
| # correct flag set. Codecov double-counts overlapping lines when a | |
| # single upload carries multiple flags whose paths overlap, so the | |
| # two core lanes (which both cover packages/core/src/**) must be | |
| # uploaded individually with their own lane flag. | |
| # See https://docs.codecov.com/docs/flags | |
| - name: Upload non-core coverage to Codecov | |
| if: matrix.upload-coverage | |
| uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 | |
| with: | |
| files: >- | |
| src/coverage/lcov.info, | |
| webview-ui/coverage/lcov.info, | |
| packages/cloud/coverage/lcov.info, | |
| packages/telemetry/coverage/lcov.info, | |
| apps/cli/coverage/lcov.info | |
| disable_search: true | |
| flags: ${{ matrix.codecov-flag }} | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload core unit coverage to Codecov | |
| if: matrix.upload-coverage | |
| uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 | |
| with: | |
| files: packages/core/coverage/unit/lcov.info | |
| disable_search: true | |
| flags: ${{ matrix.codecov-flag }},core-unit | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload core integration coverage to Codecov | |
| if: matrix.upload-coverage | |
| uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 | |
| with: | |
| files: packages/core/coverage/integration/lcov.info | |
| disable_search: true | |
| flags: ${{ matrix.codecov-flag }},core-integration | |
| token: ${{ secrets.CODECOV_TOKEN }} |