From d4728025b48dea821ca71023be188e0af58c038c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 18:37:48 +0000 Subject: [PATCH 1/4] chore: split CI test job into parallel sub-jobs sharing compiled output and VS Code binary Agent-Logs-Url: https://github.com/oxc-project/oxc-vscode/sessions/7c2b71be-a7d7-4708-9abe-7380e28b0b24 Co-authored-by: Sysix <3897725+Sysix@users.noreply.github.com> --- .github/workflows/ci.yml | 120 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 115 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ad556b..5aa1288 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,8 +39,8 @@ jobs: - name: Docs check run: pnpm run docs:update && git diff --exit-code README.md - test: - name: Test + test-unit: + name: Test (Unit) runs-on: ubuntu-latest steps: - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 @@ -60,15 +60,125 @@ jobs: - name: Unit Tests run: xvfb-run -a pnpm run test:unit + - name: Upload compiled output + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + if-no-files-found: error + name: compiled-output + retention-days: 1 + path: | + out/ + out_test/ + + - name: Upload VS Code binary + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + if-no-files-found: error + name: vscode-binary + retention-days: 1 + path: ~/.vscode-test/ + + test-oxlint: + name: Test (Oxlint LSP) + needs: test-unit + runs-on: ubuntu-latest + steps: + - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 + + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 + with: + node-version: 22 + cache: pnpm + + - run: pnpm install --frozen-lockfile + + - name: Download compiled output + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: compiled-output + + - name: Download VS Code binary + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: vscode-binary + path: ~/.vscode-test/ + - name: Oxlint LSP Tests - run: xvfb-run -a pnpm run test:oxlint && xvfb-run -a pnpm run test:oxlint-multi-root + env: + TEST_SUITE: oxlint-lsp + run: xvfb-run -a pnpm exec vscode-test + + - name: Oxlint LSP Multi-Root Tests + env: + TEST_SUITE: oxlint-lsp-multi-root + run: xvfb-run -a pnpm exec vscode-test + + test-oxlint-js: + name: Test (Oxlint JS Plugin, flaky) + needs: test-unit + runs-on: ubuntu-latest + steps: + - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 + + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 + with: + node-version: 22 + cache: pnpm + + - run: pnpm install --frozen-lockfile + + - name: Download compiled output + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: compiled-output + + - name: Download VS Code binary + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: vscode-binary + path: ~/.vscode-test/ - name: Oxlint JS Plugin Test (flaky) continue-on-error: true - run: xvfb-run -a pnpm run test:oxlint-js + env: + TEST_SUITE: oxlint-js + run: xvfb-run -a pnpm exec vscode-test + + test-oxfmt: + name: Test (Oxfmt LSP) + needs: test-unit + runs-on: ubuntu-latest + steps: + - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 + + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 + with: + node-version: 22 + cache: pnpm + + - run: pnpm install --frozen-lockfile + + - name: Download compiled output + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: compiled-output + + - name: Download VS Code binary + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: vscode-binary + path: ~/.vscode-test/ - name: Oxfmt LSP Tests - run: xvfb-run -a pnpm run test:oxfmt + env: + TEST_SUITE: oxfmt-lsp + run: xvfb-run -a pnpm exec vscode-test test-windows: if: ${{ github.ref_name == 'main' }} From 9c963f344163ab4f63d4f371199f5a7632515afc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 18:38:42 +0000 Subject: [PATCH 2/4] chore: explicitly set artifact download path to workspace root Agent-Logs-Url: https://github.com/oxc-project/oxc-vscode/sessions/7c2b71be-a7d7-4708-9abe-7380e28b0b24 Co-authored-by: Sysix <3897725+Sysix@users.noreply.github.com> --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5aa1288..75680e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,6 +98,7 @@ jobs: uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: compiled-output + path: . - name: Download VS Code binary uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 @@ -135,6 +136,7 @@ jobs: uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: compiled-output + path: . - name: Download VS Code binary uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 @@ -168,6 +170,7 @@ jobs: uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: compiled-output + path: . - name: Download VS Code binary uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 From d48b2fd6e65807b30cd3ed29193edf8499a68b4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 18:55:52 +0000 Subject: [PATCH 3/4] chore: consolidate integration test jobs into a matrix Agent-Logs-Url: https://github.com/oxc-project/oxc-vscode/sessions/95174cd5-a017-4d5c-a88c-11cf617b9c18 Co-authored-by: Sysix <3897725+Sysix@users.noreply.github.com> --- .github/workflows/ci.yml | 89 ++++++---------------------------------- 1 file changed, 13 insertions(+), 76 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75680e0..8094baa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,10 +78,19 @@ jobs: retention-days: 1 path: ~/.vscode-test/ - test-oxlint: - name: Test (Oxlint LSP) + test-integration: + name: Test (${{ matrix.suite.name }}) needs: test-unit runs-on: ubuntu-latest + continue-on-error: ${{ matrix.suite.continue_on_error }} + strategy: + fail-fast: false + matrix: + suite: + - { name: "Oxlint LSP", test_suite: "oxlint-lsp", continue_on_error: false } + - { name: "Oxlint LSP Multi-Root", test_suite: "oxlint-lsp-multi-root", continue_on_error: false } + - { name: "Oxlint JS Plugin (flaky)", test_suite: "oxlint-js", continue_on_error: true } + - { name: "Oxfmt LSP", test_suite: "oxfmt-lsp", continue_on_error: false } steps: - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 @@ -106,81 +115,9 @@ jobs: name: vscode-binary path: ~/.vscode-test/ - - name: Oxlint LSP Tests - env: - TEST_SUITE: oxlint-lsp - run: xvfb-run -a pnpm exec vscode-test - - - name: Oxlint LSP Multi-Root Tests - env: - TEST_SUITE: oxlint-lsp-multi-root - run: xvfb-run -a pnpm exec vscode-test - - test-oxlint-js: - name: Test (Oxlint JS Plugin, flaky) - needs: test-unit - runs-on: ubuntu-latest - steps: - - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 - - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 - - - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 - with: - node-version: 22 - cache: pnpm - - - run: pnpm install --frozen-lockfile - - - name: Download compiled output - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 - with: - name: compiled-output - path: . - - - name: Download VS Code binary - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 - with: - name: vscode-binary - path: ~/.vscode-test/ - - - name: Oxlint JS Plugin Test (flaky) - continue-on-error: true - env: - TEST_SUITE: oxlint-js - run: xvfb-run -a pnpm exec vscode-test - - test-oxfmt: - name: Test (Oxfmt LSP) - needs: test-unit - runs-on: ubuntu-latest - steps: - - uses: taiki-e/checkout-action@83ed61bfbe2b8abbb3c66e8b65b1335484c70009 # v1.4.1 - - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 - - - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 - with: - node-version: 22 - cache: pnpm - - - run: pnpm install --frozen-lockfile - - - name: Download compiled output - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 - with: - name: compiled-output - path: . - - - name: Download VS Code binary - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 - with: - name: vscode-binary - path: ~/.vscode-test/ - - - name: Oxfmt LSP Tests + - name: Run Tests env: - TEST_SUITE: oxfmt-lsp + TEST_SUITE: ${{ matrix.suite.test_suite }} run: xvfb-run -a pnpm exec vscode-test test-windows: From b95476b5a384d54991788cf1a62c239730c75a5d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Apr 2026 19:51:27 +0000 Subject: [PATCH 4/4] fix(ci): fix vscode-test binary artifact path and avoid double compile Agent-Logs-Url: https://github.com/oxc-project/oxc-vscode/sessions/db0a5fbf-bd3c-4128-960f-76306a219e5a Co-authored-by: Sysix <3897725+Sysix@users.noreply.github.com> --- .github/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8094baa..1d0c37b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,10 +55,12 @@ jobs: - run: pnpm install --frozen-lockfile - name: Compile - run: pnpm run compile + run: pnpm run compile && TEST=true pnpm run compile - name: Unit Tests - run: xvfb-run -a pnpm run test:unit + env: + TEST_SUITE: unit + run: xvfb-run -a pnpm exec vscode-test - name: Upload compiled output uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 @@ -76,7 +78,7 @@ jobs: if-no-files-found: error name: vscode-binary retention-days: 1 - path: ~/.vscode-test/ + path: .vscode-test/ test-integration: name: Test (${{ matrix.suite.name }}) @@ -113,7 +115,7 @@ jobs: uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: vscode-binary - path: ~/.vscode-test/ + path: .vscode-test/ - name: Run Tests env: