From 23daee88633518f4cb54cdbdc55aaf5cbd6c28bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 6 Mar 2026 13:12:11 +0000 Subject: [PATCH 1/2] ci: skip redundant lint on macOS and Windows runners Lint is OS-agnostic and already runs on Linux via test:coverage. Add test:vscode script and use it on non-Linux to run only compile+test, avoiding duplicate lint execution on macOS (10x cost) and Windows (2x cost). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++++- package.json | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d902094..c42b81a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,11 @@ jobs: - run: npm ci - run: xvfb-run -a npm run test:coverage if: runner.os == 'Linux' - - run: npm test + # On non-Linux, compile and run tests directly to skip the redundant lint + # (lint is OS-agnostic and already runs on Linux via test:coverage) + - run: npm run compile + if: runner.os != 'Linux' + - run: npm run test:vscode if: runner.os != 'Linux' - name: Upload coverage to Codecov if: runner.os == 'Linux' diff --git a/package.json b/package.json index 9f5ab4d..4050659 100644 --- a/package.json +++ b/package.json @@ -97,6 +97,7 @@ "pretest": "npm run compile && npm run lint", "lint": "eslint src", "test": "vscode-test", + "test:vscode": "vscode-test", "test:unit": "npm run compile && c8 --config .c8rc.json mocha out/unit/unit.test.js", "test:coverage": "npm run compile && npm run lint && c8 --config .c8rc.json mocha out/unit/unit.test.js && vscode-test", "deploy": "vsce publish" From 2a989335281aed8327c709d537fd2552576aac2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 13:14:53 +0000 Subject: [PATCH 2/2] ci: add timeout-minutes to release workflow jobs Add timeout-minutes to both jobs in the release workflow to prevent them from hanging indefinitely on transient failures: - release-please job: 5 minutes (typically completes in 1-2 min) - release job: 20 minutes (includes npm ci, tests, and vsce publish) This ensures CI minutes are not wasted if a network issue or other transient problem causes a job to stall. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c167d6..2f2d786 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,6 +7,7 @@ on: jobs: release-please: + timeout-minutes: 5 permissions: contents: write # for googleapis/release-please-action to create release commit pull-requests: write # for googleapis/release-please-action to create release PR @@ -26,6 +27,7 @@ jobs: release: needs: release-please + timeout-minutes: 20 runs-on: ubuntu-latest environment: marketplace if: needs.release-please.outputs.release_created == 'true'