Skip to content

Commit 4653c77

Browse files
authored
chore: bump dev dependencies and optimize CI workflow (#898)
Update typescript-eslint, vitest, vsce, prettier, globals, and catalog packages (react, vite, rolldown, tanstack). Fix VS Marketplace badge URL. Extract shared CI setup into a composite action, switch git clones to HTTPS to fix Dependabot SSH errors, upgrade runner to ubuntu-24.04, use frozen lockfile, and run the package job in parallel with tests.
1 parent 9b367d9 commit 4653c77

File tree

6 files changed

+998
-880
lines changed

6 files changed

+998
-880
lines changed

.github/actions/setup/action.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Setup
2+
description: Install pnpm, Node.js, and project dependencies.
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Use HTTPS for GitHub git clones
8+
shell: bash
9+
# Needed for git-based deps (e.g. github:coder/coder) so pnpm can clone without SSH.
10+
run: git config --global url."https://github.com/".insteadOf "git@github.com:"
11+
12+
- uses: pnpm/action-setup@v5
13+
14+
- uses: actions/setup-node@v6
15+
with:
16+
node-version: "22"
17+
cache: "pnpm"
18+
19+
- name: Install dependencies
20+
shell: bash
21+
run: pnpm install --frozen-lockfile

.github/workflows/ci.yaml

Lines changed: 12 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,12 @@ on:
1212
jobs:
1313
lint:
1414
name: Lint
15-
runs-on: ubuntu-22.04
15+
runs-on: ubuntu-24.04
1616

1717
steps:
1818
- uses: actions/checkout@v6
19-
20-
- uses: pnpm/action-setup@v5
21-
22-
- uses: actions/setup-node@v6
23-
with:
24-
node-version: "22"
25-
cache: "pnpm"
26-
27-
- run: pnpm install
19+
- name: Setup pnpm, Node.js, and dependencies
20+
uses: ./.github/actions/setup
2821

2922
- run: pnpm typecheck
3023

@@ -36,7 +29,7 @@ jobs:
3629

3730
test-unit:
3831
name: Unit Test (Electron ${{ matrix.electron-version }})
39-
runs-on: ubuntu-22.04
32+
runs-on: ubuntu-24.04
4033
strategy:
4134
fail-fast: false
4235
matrix:
@@ -46,15 +39,8 @@ jobs:
4639

4740
steps:
4841
- uses: actions/checkout@v6
49-
50-
- uses: pnpm/action-setup@v5
51-
52-
- uses: actions/setup-node@v6
53-
with:
54-
node-version: "22"
55-
cache: "pnpm"
56-
57-
- run: pnpm install
42+
- name: Setup pnpm, Node.js, and dependencies
43+
uses: ./.github/actions/setup
5844

5945
- name: Run tests with Electron ${{ matrix.electron-version }}
6046
run: ./scripts/test-electron.sh ${{ matrix.electron-version }}
@@ -63,23 +49,16 @@ jobs:
6349

6450
test-integration:
6551
name: Integration Test (VS Code ${{ matrix.vscode-version }})
66-
runs-on: ubuntu-22.04
52+
runs-on: ubuntu-24.04
6753
strategy:
6854
fail-fast: false
6955
matrix:
7056
vscode-version: ["1.106.0", "stable"]
7157

7258
steps:
7359
- uses: actions/checkout@v6
74-
75-
- uses: pnpm/action-setup@v5
76-
77-
- uses: actions/setup-node@v6
78-
with:
79-
node-version: "22"
80-
cache: "pnpm"
81-
82-
- run: pnpm install
60+
- name: Setup pnpm, Node.js, and dependencies
61+
uses: ./.github/actions/setup
8362

8463
- run: pnpm build
8564

@@ -88,20 +67,11 @@ jobs:
8867

8968
package:
9069
name: Package
91-
runs-on: ubuntu-22.04
92-
needs: [lint, test-unit, test-integration]
70+
runs-on: ubuntu-24.04
9371
steps:
9472
- uses: actions/checkout@v6
95-
96-
- uses: pnpm/action-setup@v5
97-
98-
- uses: actions/setup-node@v6
99-
with:
100-
node-version: "22"
101-
cache: "pnpm"
102-
103-
- name: Install dependencies
104-
run: pnpm install
73+
- name: Setup pnpm, Node.js, and dependencies
74+
uses: ./.github/actions/setup
10575

10676
- name: Get version from package.json
10777
id: version

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Coder Remote
22

3-
[![Visual Studio Marketplace](https://img.shields.io/visual-studio-marketplace/v/coder.coder-remote?label=Visual%20Studio%20Marketplace&color=%233fba11)](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote)
3+
[![Visual Studio Marketplace](https://vsmarketplacebadges.dev/version/coder.coder-remote.svg)](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote)
44
[![Open VSX Version](https://img.shields.io/open-vsx/v/coder/coder-remote)](https://open-vsx.org/extension/coder/coder-remote)
55
[!["Join us on
66
Discord"](https://badgen.net/discord/online-members/coder)](https://coder.com/chat?utm_source=github.com/coder/vscode-coder&utm_medium=github&utm_campaign=readme.md)

package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -596,17 +596,17 @@
596596
"openpgp": "^6.3.0",
597597
"pretty-bytes": "^7.1.0",
598598
"proper-lockfile": "^4.1.2",
599-
"proxy-agent": "^7.0.0",
599+
"proxy-agent": "^8.0.1",
600600
"semver": "^7.7.4",
601601
"strip-ansi": "^7.2.0",
602602
"ua-parser-js": "^1.0.41",
603603
"ws": "^8.20.0",
604604
"zod": "^4.3.6"
605605
},
606606
"devDependencies": {
607-
"@eslint-react/eslint-plugin": "^3.0.0",
607+
"@eslint-react/eslint-plugin": "^4.2.3",
608608
"@eslint/js": "^10.0.1",
609-
"@eslint/markdown": "^7.5.1",
609+
"@eslint/markdown": "^8.0.1",
610610
"@rolldown/plugin-babel": "catalog:",
611611
"@tanstack/react-query": "catalog:",
612612
"@testing-library/jest-dom": "^6.9.1",
@@ -621,13 +621,13 @@
621621
"@types/ua-parser-js": "0.7.39",
622622
"@types/vscode": "1.106.0",
623623
"@types/ws": "^8.18.1",
624-
"@typescript-eslint/eslint-plugin": "^8.58.0",
625-
"@typescript-eslint/parser": "^8.58.0",
624+
"@typescript-eslint/eslint-plugin": "^8.58.2",
625+
"@typescript-eslint/parser": "^8.58.2",
626626
"@vitejs/plugin-react": "catalog:",
627-
"@vitest/coverage-v8": "^4.1.3",
627+
"@vitest/coverage-v8": "^4.1.4",
628628
"@vscode/test-cli": "^0.0.12",
629629
"@vscode/test-electron": "^2.5.2",
630-
"@vscode/vsce": "^3.7.1",
630+
"@vscode/vsce": "^3.9.1",
631631
"babel-plugin-react-compiler": "catalog:",
632632
"bufferutil": "^4.1.0",
633633
"coder": "catalog:",
@@ -636,23 +636,23 @@
636636
"dayjs": "^1.11.20",
637637
"electron": "39.8.5",
638638
"esbuild": "^0.28.0",
639-
"eslint": "^10.2.0",
639+
"eslint": "^10.2.1",
640640
"eslint-config-prettier": "^10.1.8",
641641
"eslint-import-resolver-typescript": "^4.4.4",
642642
"eslint-plugin-import-x": "^4.16.2",
643643
"eslint-plugin-package-json": "^0.91.1",
644-
"globals": "^17.4.0",
644+
"globals": "^17.5.0",
645645
"jsdom": "^29.0.2",
646646
"jsonc-eslint-parser": "^3.1.0",
647-
"memfs": "^4.57.1",
648-
"prettier": "^3.8.1",
647+
"memfs": "^4.57.2",
648+
"prettier": "^3.8.3",
649649
"react": "catalog:",
650650
"react-dom": "catalog:",
651651
"typescript": "catalog:",
652-
"typescript-eslint": "^8.58.0",
652+
"typescript-eslint": "^8.58.2",
653653
"utf-8-validate": "^6.0.6",
654654
"vite": "catalog:",
655-
"vitest": "^4.1.3"
655+
"vitest": "^4.1.4"
656656
},
657657
"extensionPack": [
658658
"ms-vscode-remote.remote-ssh"

0 commit comments

Comments
 (0)