Revert "chore(release): update version and changelog for v1.8.0" #478
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: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "src/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| pull_request: | |
| paths: | |
| - "src/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| outputs: | |
| relevant: ${{ steps.filter.outputs.relevant }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| relevant: | |
| - 'src/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| test: | |
| name: Test | |
| needs: changes | |
| # Run tests when release-relevant files change or when manually dispatched. | |
| if: needs.changes.outputs.relevant == 'true' || github.event_name == 'workflow_dispatch' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # os: [ubuntu-latest, macos-latest, windows-latest] | |
| os: [ubuntu-latest] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| - name: Setup task runner | |
| uses: go-task/setup-task@01a4adf9db2d14c1de7a560f09170b6e0df736aa # v2.1.0 | |
| with: | |
| version: "3.x" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check types | |
| run: task check-types | |
| - name: Lint | |
| run: task lint | |
| env: | |
| PATH: ${{ github.workspace }}/node_modules/@biomejs/biome/bin:$PATH | |
| - name: Compile | |
| run: task compile | |
| - name: Run unit tests | |
| run: xvfb-run -a task unit-test-coverage -- --reporter=default --reporter=junit --outputFile=test-report.junit.xml | |
| env: | |
| CI: true | |
| - name: Cache VS Code test binary | |
| uses: actions/cache@v5 | |
| with: | |
| path: .vscode-test | |
| key: ${{ runner.os }}-vscode-test-${{ hashFiles('package.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-vscode-test- | |
| - name: Run extension tests | |
| run: xvfb-run -a task extension-tests | |
| env: | |
| CI: true | |
| - name: Setup Ollama | |
| uses: ai-action/setup-ollama@v2 | |
| - name: Cache Ollama model | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.ollama | |
| key: ${{ runner.os }}-ollama-smollm135m-qwen3 | |
| restore-keys: | | |
| ${{ runner.os }}-ollama- | |
| - name: Run integration tests | |
| run: | | |
| if [[ -n "${OLLAMA_CLOUD_API_KEY:-}" ]]; then | |
| echo "β OLLAMA_API_KEY detected; running integration tests with cloud coverage enabled." | |
| else | |
| echo "β οΈ OLLAMA_API_KEY not configured; running integration tests in local-only mode." | |
| fi | |
| xvfb-run -a task integration-tests | |
| env: | |
| CI: true | |
| OLLAMA_TEST_MODEL: smollm:135m | |
| OLLAMA_TEST_TOOL_MODEL: qwen3:0.6b | |
| OLLAMA_CLOUD_API_KEY: ${{ secrets.OLLAMA_API_KEY }} | |
| - name: Upload test artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: test-artifacts | |
| path: | | |
| out/ | |
| dist/ | |
| .vscode-test/ | |
| coverage/ | |
| retention-days: 7 | |
| - name: Upload test results to Codecov | |
| if: ${{ !cancelled() }} | |
| uses: codecov/test-results-action@v1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: coverage/ | |
| flags: unittests | |
| name: codecov-umbrella | |
| fail_ci_if_error: true | |
| - name: Upload extension bundle | |
| if: success() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: extension-bundle | |
| path: dist/extension.js | |
| retention-days: 7 | |
| ci-status: | |
| name: CI Status | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 1 | |
| needs: [test] | |
| if: always() | |
| steps: | |
| - name: Check required jobs | |
| run: | | |
| result="${{ needs.test.result }}" | |
| if [[ "$result" == "failure" || "$result" == "cancelled" ]]; then | |
| echo "β test job ${result}" | |
| exit 1 | |
| fi | |
| echo "β All required CI jobs passed or were skipped." |