Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
217 commits
Select commit Hold shift + click to select a range
dded82b
Release v4.99.3
code-asher Apr 17, 2025
47d6d3a
fix: parse part in path proxy (#7337)
kylecarbs May 2, 2025
3f2e334
Release v4.99.4
code-asher May 5, 2025
ea2caf0
Allow setting trusted domains for links at run-time
code-asher May 5, 2025
0c72b20
Place locale and abs-proxy-base-path in correct interfaces
code-asher May 5, 2025
c8257a3
Fix repeatable flags in config
code-asher May 5, 2025
e5b8d44
chore: bump @types/semver from 7.5.8 to 7.7.0
dependabot[bot] May 6, 2025
8b55b50
chore: bump eslint from 9.23.0 to 9.25.1 (#7332)
dependabot[bot] May 6, 2025
7af90ea
Mention code-server devcontainer feature (#7342)
bartekgatzcoder May 6, 2025
2c9b4e7
Update Code to 1.100.0 (#7343)
benz0li May 8, 2025
9bd3b83
Fix port parseInt error handling
code-asher May 8, 2025
d0e20d5
Update devcontainer feature link
code-asher May 8, 2025
e05219d
Release v4.100.0
code-asher May 12, 2025
1aca01f
Update Code to 1.101 (#7347)
benz0li May 13, 2025
9dd999b
Update Code to 1.100.2 (#7348)
benz0li May 15, 2025
cade03e
Release v4.100.1 and v4.100.2
code-asher May 19, 2025
35e78fe
chore: bump globals from 15.14.0 to 16.0.0 (#7333)
dependabot[bot] May 19, 2025
409c64e
Update Code to 1.100.3 (#7367)
benz0li Jun 3, 2025
9ec786b
Ask not to put "latest" in bug report
code-asher Jun 3, 2025
1face85
Sort some imports
code-asher Jun 3, 2025
1671bf1
Release v4.100.3
code-asher Jun 3, 2025
6e26dad
fix: update GitHub Actions Runner images (#7379)
jdomeracki-coder Jun 16, 2025
405eb0f
Update Code to 1.101.0 (#7376)
benz0li Jun 16, 2025
37357b0
chore: bump typescript-eslint from 8.29.0 to 8.33.0 (#7365)
dependabot[bot] Jun 16, 2025
3669c96
chore: bump @types/compression from 1.7.5 to 1.8.0 (#7364)
dependabot[bot] Jun 16, 2025
05d8904
chore: bump dawidd6/action-download-artifact from 9 to 10 (#7361)
dependabot[bot] Jun 16, 2025
a56769b
chore: bump heyhusen/archlinux-package-action from 2.2.1 to 2.4.0 (#7…
dependabot[bot] Jun 16, 2025
85ee441
chore: bump typescript from 5.6.2 to 5.8.3 (#7335)
dependabot[bot] Jun 16, 2025
74cc50d
chore: bump qs from 6.13.0 to 6.14.0 (#7363)
dependabot[bot] Jun 16, 2025
27a112c
Upgrade brace-expansion sub-dependency
code-asher Jun 17, 2025
bd34cd5
Update Code to 1.101.1 (#7383)
benz0li Jun 21, 2025
3a8fbeb
Release v4.101.0 and v4.101.1
code-asher Jun 24, 2025
c5c764d
Do not use module type for service worker
code-asher Jun 25, 2025
1b1440f
Update logo
code-asher Jun 25, 2025
53dccbb
Report if using hashed-password from config
code-asher Jun 25, 2025
aff005e
Update Code to 1.101.2
code-asher Jun 25, 2025
729456b
Release v4.101.2
code-asher Jun 25, 2025
70be9fe
Add non-maskable PWA icons
code-asher Jul 7, 2025
cdac5bf
Update Code to 1.102.0 (#7418)
benz0li Jul 15, 2025
8b3d9b9
Use native node -p to get exec path (#7420)
lemanschik Jul 15, 2025
92fca0d
Add language customization flag (#7374)
strickvl Jul 15, 2025
740a2d3
chore: bump aquasecurity/trivy-action from 0.30.0 to 0.31.0 (#7408)
dependabot[bot] Jul 15, 2025
bbe1b7f
chore: bump i18next from 23.16.4 to 25.3.0 (#7406)
dependabot[bot] Jul 15, 2025
4029c1e
Use Debian archives
code-asher Jul 15, 2025
0f9a0e8
Revert escaping for i18n strings
code-asher Jul 17, 2025
f26309a
Release v4.102.0
code-asher Jul 17, 2025
47e9d43
Update Code to 1.102.1 (#7424)
benz0li Jul 17, 2025
aaf2d91
Deleted unused and outdated afdesign file
code-asher Jul 17, 2025
84728f0
Release v4.102.1
code-asher Jul 17, 2025
fe7db49
Update values.yaml to better support dind (#7431)
SheldonTsen Jul 22, 2025
9f6d18e
Update Code to 1.102.2 (#7436)
benz0li Jul 24, 2025
b1ad6ff
Release v4.102.2
code-asher Jul 24, 2025
6f3d0a7
Update Code to 1.102.3 (#7444)
benz0li Jul 30, 2025
1805dae
chore: bump aquasecurity/trivy-action from 0.31.0 to 0.32.0 (#7450)
dependabot[bot] Aug 4, 2025
bc15fa4
chore: bump form-data in /test (#7430)
dependabot[bot] Aug 4, 2025
b5a2ce2
Use error handler in session server (#7455)
code-asher Aug 4, 2025
794def9
chore: bump on-headers and compression (#7427)
dependabot[bot] Aug 4, 2025
a7e77ce
chore: bump dawidd6/action-download-artifact from 10 to 11 (#7409)
dependabot[bot] Aug 4, 2025
8a378df
chore: bump eslint-import-resolver-typescript from 3.8.3 to 4.4.4 (#7…
dependabot[bot] Aug 4, 2025
5c0ff50
Remove direct safe-buffer dependency
code-asher Aug 4, 2025
8f738d2
Remove unused supertest dependency
code-asher Aug 4, 2025
e54467f
Run npm audit fix
code-asher Aug 4, 2025
3f23840
Remove import from express-serve-static-core
code-asher Aug 4, 2025
b27d982
chore: bump prettier from 3.4.2 to 3.6.2 (#7407)
dependabot[bot] Aug 4, 2025
f1236d8
Update Code to 1.103.0 (#7458)
benz0li Aug 9, 2025
2bbb6e8
Release v4.103.0
code-asher Aug 12, 2025
fbaadbc
Update Code to 1.103.1 (#7459)
benz0li Aug 15, 2025
3c5deac
Update Code to 1.103.2 (#7463)
benz0li Aug 25, 2025
54b33a7
Add Discord link to readme (#7465)
Olexandr88 Aug 25, 2025
b59a4f7
Release v4.103.1 and v4.103.2
code-asher Aug 28, 2025
626145c
Allow custom annotation to deployment (#7481)
anthosz Sep 11, 2025
1a7b770
Fix installing extensions from the Open VSX marketplace (#7479)
jinvien Sep 11, 2025
ba774d9
Update Code to 1.104.0 (#7488)
benz0li Sep 12, 2025
d1066af
Release v4.104.0
code-asher Sep 15, 2025
af19ded
Update Code to 1.104.1 (#7495)
benz0li Sep 19, 2025
b0992dd
Update Code to 1.104.2 (#7503)
benz0li Sep 26, 2025
9fd98d5
Release v4.104.1 and v4.104.2
code-asher Oct 1, 2025
cd40509
Update Code to 1.104.3 (#7515)
benz0li Oct 3, 2025
30321ab
Update Code to 1.105.0 (#7523)
benz0li Oct 14, 2025
811ec6c
Update Code to 1.105.1 (#7531)
benz0li Oct 17, 2025
db8a41b
Add idle timeout (#7539)
andrewbaldwin44 Oct 29, 2025
add51d5
chore: bump actions/download-artifact from 4 to 5 (#7506)
dependabot[bot] Oct 29, 2025
7beb05d
chore: bump aquasecurity/trivy-action from 0.32.0 to 0.33.1 (#7507)
dependabot[bot] Oct 29, 2025
35e7b09
chore: bump actions/checkout from 4 to 5 (#7508)
dependabot[bot] Oct 29, 2025
9d89b17
chore: bump express and @types/express (#7510)
dependabot[bot] Oct 29, 2025
af397f7
chore: bump globals from 16.1.0 to 16.4.0 (#7511)
dependabot[bot] Oct 29, 2025
7a2a5eb
chore: bump eslint from 9.32.0 to 9.36.0 (#7513)
dependabot[bot] Oct 29, 2025
282f74d
Update Node.js version in Android docs from 18 to 22 (#7542)
SuitDeer Oct 29, 2025
897b5f1
chore: bump playwright and @playwright/test in /test (#7534)
dependabot[bot] Oct 29, 2025
339c392
Update Code to 1.106.0 (#7569)
benz0li Nov 18, 2025
93c1f4f
Update macOS runner
code-asher Nov 18, 2025
24a7774
Update Code to 1.106.1 (#7570)
benz0li Nov 19, 2025
9a24e46
Update Code to 1.106.2 (#7571)
benz0li Nov 19, 2025
904942a
Increase build timeout
code-asher Nov 19, 2025
85042e2
Note settings change from VS Code web and Codespaces
code-asher Nov 25, 2025
2ed1098
Update Code to 1.106.3 (#7583)
benz0li Dec 1, 2025
9819b91
chore: bump actions/checkout from 5 to 6 (#7585)
dependabot[bot] Dec 1, 2025
80996d2
Add VS Code web to the bug template
code-asher Dec 1, 2025
f128a7a
Update actionlint to 1.7.9
code-asher Dec 1, 2025
eccb1eb
chore: bump actions/setup-node from 4 to 6 (#7550)
dependabot[bot] Dec 2, 2025
472bf8a
Remove homebrew step
code-asher Dec 2, 2025
ea9a3a5
Update Code to 1.107.0 (#7599)
benz0li Dec 12, 2025
0de7cf5
Add configurable authorization header to marketplace API calls (#7596)
vmladenovic Dec 12, 2025
68ac95b
Add cookie-suffix flag (#7590)
Timon-D3v Dec 12, 2025
ac7322c
Update changelog
code-asher Dec 12, 2025
41f7ba9
Use /healthz and reuse labels in Helm chart (#7604)
egvimo Jan 8, 2026
8c077bf
Update Code to 1.107.1 (#7606)
benz0li Jan 8, 2026
9233f04
Update Code to 1.108.0 (#7629)
benz0li Jan 9, 2026
e352745
Clarify VS Code web vs vscode.dev in bug template
code-asher Jan 12, 2026
65d6b9a
Update changelog for 4.107.0, 4.107.1, and 4.108.0
code-asher Jan 12, 2026
3368ef9
Update Helm chart with 4.108.0
code-asher Jan 13, 2026
ba588b4
Update Code to 1.108.1 (#7634)
benz0li Jan 17, 2026
94a533e
chore: bump lodash from 4.17.21 to 4.17.23 in /test (#7639)
dependabot[bot] Jan 23, 2026
f5dc543
chore: bump qs from 6.14.0 to 6.14.1 (#7618)
dependabot[bot] Jan 23, 2026
809abfb
chore: bump argon2 from 0.31.2 to 0.44.0 (#7635)
dependabot[bot] Jan 23, 2026
f223d30
chore: bump argon2 in /test to 0.44.0 (#7636)
dependabot[bot] Jan 23, 2026
3526364
chore: bump github/codeql-action from 3 to 4 (#7546)
dependabot[bot] Jan 23, 2026
9e97cd1
chore: bump js-yaml from 4.1.0 to 4.1.1 (#7563)
dependabot[bot] Jan 23, 2026
aa210cd
chore: bump dawidd6/action-download-artifact from 11 to 12 (#7615)
dependabot[bot] Jan 23, 2026
1dd0741
chore: bump js-yaml from 3.14.1 to 3.14.2 in /test (#7566)
dependabot[bot] Jan 23, 2026
7ec0be6
chore: bump prettier-plugin-sh from 0.14.0 to 0.18.0 (#7551)
dependabot[bot] Jan 23, 2026
7f2112c
chore: bump express from 5.1.0 to 5.2.0 (#7586)
dependabot[bot] Jan 23, 2026
3c0b449
Update Code to 1.108.2 (#7645)
benz0li Jan 26, 2026
e90504b
Clarify error handlers are final and don't call next() (#7646)
taosin Jan 28, 2026
954ceae
Update Code to 1.109.0 (#7661)
benz0li Feb 10, 2026
6529949
s/htpps/https (#7662)
andrewhamon Feb 10, 2026
639c320
Probes can be disabled in Helm chart (#7663)
mickkael Feb 10, 2026
9184b64
Update Code to 1.109.2 (#7669)
benz0li Feb 11, 2026
d58aaa7
Update Code to 1.109.5 (#7675)
benz0li Mar 2, 2026
98a2a00
Update Helm chart and changelog to 4.109.5
code-asher Mar 3, 2026
e9c5775
chore: bump actions/download-artifact from 5 to 8 (#7687)
dependabot[bot] Mar 3, 2026
355546d
chore: bump dawidd6/action-download-artifact from 12 to 16 (#7686)
dependabot[bot] Mar 3, 2026
36b00d3
chore: bump actions/upload-artifact from 4 to 7 (#7685)
dependabot[bot] Mar 3, 2026
980e009
chore: bump minimatch (#7683)
dependabot[bot] Mar 3, 2026
b5e2c42
chore: bump minimatch from 3.1.2 to 3.1.5 in /test (#7682)
dependabot[bot] Mar 3, 2026
52f1542
chore: bump basic-ftp from 5.0.5 to 5.2.0 (#7680)
dependabot[bot] Mar 3, 2026
3eada68
chore: bump ws and @types/ws (#7651)
dependabot[bot] Mar 3, 2026
841ec45
chore: bump aquasecurity/trivy-action from 0.33.1 to 0.34.1 (#7676)
dependabot[bot] Mar 3, 2026
65b0f0e
chore: bump heyhusen/archlinux-package-action from 2.4.0 to 3.0.0 (#7…
dependabot[bot] Mar 3, 2026
9e37944
chore: bump eslint-plugin-import from 2.31.0 to 2.32.0 (#7652)
dependabot[bot] Mar 3, 2026
83d2935
chore: bump typescript-eslint from 8.33.0 to 8.54.0 (#7654)
dependabot[bot] Mar 4, 2026
b6e0c84
chore: bump eslint-config-prettier from 9.1.0 to 10.1.8 (#7653)
dependabot[bot] Mar 4, 2026
62afaf2
Update npm dependencies
code-asher Mar 4, 2026
1af5ce5
Update Code to 1.110.0 (#7694)
benz0li Mar 6, 2026
b43e772
Update Code to 1.110.1 (#7699)
benz0li Mar 11, 2026
a6d80dc
Update Code to 1.111.0 (#7700)
benz0li Mar 11, 2026
24ea70a
feat: use --app-name in error page title (#7693)
lustsazeus-lab Mar 11, 2026
b7c7a62
Suppress i18next support notice in terminal output (#7702)
woobs Mar 12, 2026
13ca0e4
Update Code to 1.112.0 (#7711)
benz0li Mar 18, 2026
d7599ae
fix: remove config file path from login page (#7709)
karesansui-u Mar 18, 2026
44fc463
Update Debian base image to 13 (trixie) (#7705)
gwe32 Mar 20, 2026
d544846
chore: bump flatted from 3.3.4 to 3.4.2 (#7713)
dependabot[bot] Mar 23, 2026
4d615f1
feat: add wildcard support to trusted-origins (#7697)
abdulsattar Mar 25, 2026
ada3489
feat: expose --reconnection-grace-time CLI flag (#7678)
tianyicui Mar 25, 2026
8d9a44a
Update Code to 1.113.0 (#7716)
benz0li Mar 26, 2026
2743655
Pin actions and extract expressions to env vars (#7719)
dagecko Mar 26, 2026
a5c1b6a
Use inputs instead of github.event.inputs
code-asher Mar 26, 2026
b5611ef
Use VS Code packaging for releases (#7721)
code-asher Mar 28, 2026
41b0e45
Set npm token for publishing
code-asher Mar 28, 2026
9143a29
Update changelog with 4.110.0 through 4.112.0
code-asher Mar 28, 2026
840a943
Fix quilt and git install on linux job
code-asher Mar 28, 2026
9dcb1d7
Set version in release package.json
code-asher Mar 28, 2026
6b36d4e
Fix cross-compiled releases
code-asher Mar 30, 2026
6f69f28
Fix top level release package dir
code-asher Mar 30, 2026
f733cca
Skip binary downloads during build
code-asher Mar 30, 2026
be062d0
Use tag env var in npm publish
code-asher Mar 30, 2026
b27ceeb
Prune dev dependencies when building release
code-asher Mar 31, 2026
82fe3a7
Copy correct Node into release
code-asher Apr 3, 2026
5fe286e
Update Code to 1.114.0 (#7735)
benz0li Apr 3, 2026
0b15b91
chore: bump picomatch from 4.0.3 to 4.0.4 (#7718)
dependabot[bot] Apr 6, 2026
394c6fc
chore: bump picomatch from 2.3.1 to 2.3.2 in /test (#7717)
dependabot[bot] Apr 6, 2026
d74b002
Build native modules from source
code-asher Apr 6, 2026
1fa5d50
Omit argon2 prebuilds
code-asher Apr 6, 2026
4af6408
Preserve permissions with rsync
code-asher Apr 6, 2026
f04dc2c
Update chart and changelog up to v4.114.1
code-asher Apr 6, 2026
1c6fb2d
Update Code to 1.115.0 (#7748)
benz0li Apr 8, 2026
287f8ec
chore: bump path-to-regexp from 8.3.0 to 8.4.0 (#7722)
dependabot[bot] Apr 8, 2026
f612511
chore: bump awalsh128/cache-apt-pkgs-action from 1.5.3 to 1.6.0 (#7727)
dependabot[bot] Apr 8, 2026
aee8825
chore: bump azure/setup-helm from 4.3.1 to 5.0.0 (#7728)
dependabot[bot] Apr 8, 2026
c663724
chore: bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (#7729)
dependabot[bot] Apr 8, 2026
05f481d
chore: bump codecov/codecov-action from 5.5.3 to 6.0.0 (#7731)
dependabot[bot] Apr 8, 2026
523c0cb
chore: bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (#7732)
dependabot[bot] Apr 10, 2026
34ac5f4
chore: bump basic-ftp from 5.2.0 to 5.2.1 (#7749)
dependabot[bot] Apr 10, 2026
7cc2270
Update Code to 1.116.0 (#7754)
benz0li Apr 15, 2026
cc8f0b7
Strip sourcemaps (#7756)
code-asher Apr 16, 2026
be537ce
Optimize builtin copilot extension (#7757)
code-asher Apr 16, 2026
4b4903e
chore: bump basic-ftp from 5.2.1 to 5.3.0 (#7759)
dependabot[bot] Apr 17, 2026
a12c896
chore: bump follow-redirects from 1.15.11 to 1.16.0 (#7755)
dependabot[bot] Apr 17, 2026
cc8ac4f
feat(charts): make replicaCount optional (#7744)
egvimo Apr 17, 2026
6ecac88
Pin Helm version for linting
code-asher Apr 17, 2026
367dcda
Update changelog and chart up to 4.116.0
code-asher Apr 17, 2026
5f7c23b
chore: bump lodash from 4.17.23 to 4.18.1 in /test (#7743)
dependabot[bot] Apr 17, 2026
e0b100e
Update Code to 1.117.0 (#7760)
benz0li Apr 22, 2026
22ec1ea
Run formatter on build yaml
code-asher Apr 22, 2026
ddeb0a3
Update brace-expansion to 1.1.14
code-asher Apr 22, 2026
80a642f
Update ubuntu tag to noble 24.04 (#7763)
nom3ad Apr 27, 2026
02f4d6e
Add ubuntu:resolute 26.04 docker image (#7764)
nom3ad Apr 27, 2026
dbd25c9
Update Code to 1.118.0 (#7768)
benz0li May 5, 2026
2787a5c
Set debug level for e2e tests
code-asher May 6, 2026
f6bd6aa
Update Playwright to 1.59.1
code-asher May 6, 2026
871f1d9
Skip webkit in e2e tests for now
code-asher May 6, 2026
442db74
Update Code to 1.118.1 (#7783)
benz0li May 6, 2026
672b4ed
Add 4.117.0 and 4.118.0 to changelog
code-asher May 7, 2026
7056332
Add update script
code-asher May 7, 2026
58aedd0
Update Code to 1.119.0 (#7787)
benz0li May 7, 2026
0059d37
Reset cdrci aur repo when publishing
code-asher May 7, 2026
9527b78
Pin GitHub actions
code-asher May 7, 2026
58491f3
Add workflow for updating VS Code
code-asher May 7, 2026
3dbddaa
Ignore .bak files from sed operations
code-asher May 7, 2026
bd41dca
Add 4.119.0 to the changelog
code-asher May 7, 2026
62a552d
Check for updates on a schedule
code-asher May 7, 2026
93ce398
Make update cron run twice daily
code-asher May 8, 2026
1605d68
Update contribution steps for updating
code-asher May 8, 2026
41c9ed4
Draft release when update branch is merged
code-asher May 8, 2026
2fafe87
Set name and tag for release
code-asher May 8, 2026
89ca02c
Add changelog notes to draft release
code-asher May 8, 2026
53d981a
Automatically generate helm/changelog PR
code-asher May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ body:
- **Remote OS**: Ubuntu
- **Remote Architecture**: amd64
- **`code-server --version`**: 4.0.1

Please do not just put "latest" for the version.
value: |
- Web Browser:
- Local OS:
Expand Down Expand Up @@ -84,6 +86,18 @@ body:
validations:
required: true

- type: dropdown
attributes:
label: Does this bug reproduce in VS Code web?
description: If the bug reproduces in VS Code web, submit the issue upstream instead (https://github.com/microsoft/vscode). You can run VS Code web with `code serve-web` (this is not the same as vscode.dev).
options:
- Yes, this is also broken in VS Code web
- No, this works as expected in VS Code web
- This cannot be tested in VS Code web
- I did not test VS Code web
validations:
required: true

- type: dropdown
attributes:
label: Does this bug reproduce in GitHub Codespaces?
Expand Down
174 changes: 81 additions & 93 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

# Note: if: success() is used in several jobs -
# this ensures that it only executes if all previous jobs succeeded.

# if: steps.cache-node-modules.outputs.cache-hit != 'true'
# will skip running `npm install` if it successfully fetched from cache

jobs:
changes:
runs-on: ubuntu-latest
Expand All @@ -31,10 +25,8 @@ jobs:
docs: ${{ steps.filter.outputs.docs }}
helm: ${{ steps.filter.outputs.helm }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Check changed files
uses: dorny/paths-filter@v3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3
id: filter
with:
filters: |
Expand Down Expand Up @@ -62,10 +54,9 @@ jobs:
prettier:
name: Run prettier check
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -78,12 +69,11 @@ jobs:
doctoc:
name: Doctoc markdown files
runs-on: ubuntu-22.04
timeout-minutes: 5
needs: changes
if: needs.changes.outputs.docs == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -96,26 +86,25 @@ jobs:
lint-helm:
name: Lint Helm chart
runs-on: ubuntu-22.04
timeout-minutes: 5
needs: changes
if: needs.changes.outputs.helm == 'true'
steps:
- uses: actions/checkout@v4
- uses: azure/setup-helm@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: "v3.19.2"
- run: helm plugin install https://github.com/instrumenta/helm-kubeval
- run: helm kubeval ci/helm-chart

lint-ts:
name: Lint TypeScript files
runs-on: ubuntu-22.04
timeout-minutes: 5
needs: changes
if: needs.changes.outputs.code == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -132,22 +121,21 @@ jobs:
if: needs.changes.outputs.ci == 'true'
steps:
- name: Checkout repo
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Check workflow files
run: |
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) 1.7.1
./actionlint -color -shellcheck= -ignore "set-output"
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) 1.7.9
./actionlint -color -shellcheck= -ignore "softprops/action-gh-release"
shell: bash

test-unit:
name: Run unit tests
runs-on: ubuntu-22.04
timeout-minutes: 5
needs: changes
if: needs.changes.outputs.code == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -156,29 +144,35 @@ jobs:
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- run: npm run test:unit
- uses: codecov/codecov-action@v5
- uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5
if: success()
with:
token: ${{ secrets.CODECOV_TOKEN }}

build:
name: Build code-server
name: linux-x64
runs-on: ubuntu-22.04
timeout-minutes: 60
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
DISABLE_V8_COMPILE_CACHE: 1
VERSION: 0.0.0
VSCODE_TARGET: linux-x64
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1

steps:
- uses: actions/checkout@v4
with:
submodules: true
- run: sudo apt update && sudo apt install -y libkrb5-dev
- uses: awalsh128/cache-apt-pkgs-action@latest
- uses: awalsh128/cache-apt-pkgs-action@2c09a5e66da6c8016428a2172bd76e5e4f14bb17 # latest
with:
packages: quilt
version: 1.0

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
submodules: true
- run: quilt push -a
- uses: actions/setup-node@v4
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -187,124 +181,118 @@ jobs:
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- run: npm run build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Get Code's git hash. When this changes it means the content is
# different and we need to rebuild.
- name: Get latest lib/vscode rev
id: vscode-rev
run: echo "rev=$(git rev-parse HEAD:./lib/vscode)" >> $GITHUB_OUTPUT
# We need to rebuild when we have a new version of Code, when any of
# the patches changed, or when the code-server version changes (since
# it gets embedded into the code). Use VSCODE_CACHE_VERSION to
# force a rebuild.
- name: Fetch prebuilt Code package from cache
# We need to rebuild when we have a new version of Code, when any of the
# patches changed, or when the code-server version changes (since it gets
# embedded into the code). Use VSCODE_CACHE_VERSION to force a rebuild.
- name: Fetch prebuilt linux-x64 Code package from cache
id: cache-vscode
uses: actions/cache@v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: lib/vscode-reh-web-*
key: vscode-reh-package-${{ secrets.VSCODE_CACHE_VERSION }}-${{ steps.vscode-rev.outputs.rev }}-${{ hashFiles('patches/*.diff', 'ci/build/build-vscode.sh') }}
path: lib/vscode-reh-web-linux-x64
key: vscode-linux-x64-package-${{ secrets.VSCODE_CACHE_VERSION }}-${{ steps.vscode-rev.outputs.rev }}-${{ hashFiles('patches/*.diff', 'ci/build/build-vscode.sh') }}
- name: Build vscode
env:
VERSION: "0.0.0"
if: steps.cache-vscode.outputs.cache-hit != 'true'
run: |
pushd lib/vscode
npm ci
popd
npm run build:vscode
# The release package does not contain any native modules
# and is neutral to architecture/os/libc version.
- run: npm run release
if: success()
# https://github.com/actions/upload-artifact/issues/38
# Push up an artifact containing the linux-x64 release.
- run: KEEP_MODULES=1 npm run release
- run: tar -czf package.tar.gz release
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: npm-package
name: linux-x64-package
path: ./package.tar.gz

test-e2e:
name: Run e2e tests
runs-on: ubuntu-22.04
timeout-minutes: 25
env:
LOG_LEVEL: debug
needs: [changes, build]
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true'
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true' || needs.changes.outputs.ci == 'true'

steps:
- uses: actions/checkout@v4
- run: sudo apt update && sudo apt install -y libkrb5-dev
- uses: actions/setup-node@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
cache-dependency-path: |
package-lock.json
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- uses: actions/download-artifact@v4
with:
name: npm-package
- run: tar -xzf package.tar.gz
- run: cd release && npm install --unsafe-perm --omit=dev
- name: Install Playwright OS dependencies
run: |
./test/node_modules/.bin/playwright install-deps
./test/node_modules/.bin/playwright install

- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: linux-x64-package
- run: tar -xzf package.tar.gz

- run: CODE_SERVER_TEST_ENTRY=./release npm run test:e2e
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: failed-test-videos
path: ./test/test-results
- run: rm -rf ./release ./test/test-results

test-e2e-proxy:
name: Run e2e tests behind proxy
runs-on: ubuntu-22.04
timeout-minutes: 25
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LOG_LEVEL: debug
needs: [changes, build]
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true'
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true' || needs.changes.outputs.ci == 'true'

steps:
- uses: actions/checkout@v4
- run: sudo apt update && sudo apt install -y libkrb5-dev
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
cache-dependency-path: |
package-lock.json
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- uses: actions/download-artifact@v4
with:
name: npm-package
- run: tar -xzf package.tar.gz
- run: cd release && npm install --unsafe-perm --omit=dev
- name: Install Playwright OS dependencies
run: |
./test/node_modules/.bin/playwright install-deps
./test/node_modules/.bin/playwright install
- name: Cache Caddy
uses: actions/cache@v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
id: caddy-cache
with:
path: |
~/.cache/caddy
key: cache-caddy-2.5.2
- name: Install Caddy
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: steps.caddy-cache.outputs.cache-hit != 'true'
run: |
gh release download v2.5.2 --repo caddyserver/caddy --pattern "caddy_2.5.2_linux_amd64.tar.gz"
mkdir -p ~/.cache/caddy
tar -xzf caddy_2.5.2_linux_amd64.tar.gz --directory ~/.cache/caddy

- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version-file: .node-version
cache: npm
cache-dependency-path: |
package-lock.json
test/package-lock.json
- run: SKIP_SUBMODULE_DEPS=1 npm ci
- name: Install Playwright OS dependencies
run: |
./test/node_modules/.bin/playwright install-deps
./test/node_modules/.bin/playwright install

- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: linux-x64-package
- run: tar -xzf package.tar.gz

- run: ~/.cache/caddy/caddy start --config ./ci/Caddyfile
- run: CODE_SERVER_TEST_ENTRY=./release npm run test:e2e:proxy
- run: ~/.cache/caddy/caddy stop --config ./ci/Caddyfile
if: always()

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: failed-test-videos-proxy
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/installer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

- name: Install code-server
run: ./install.sh
Expand All @@ -44,7 +44,7 @@ jobs:
container: "alpine:3.17"
steps:
- name: Checkout repo
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

- name: Install curl
run: apk add curl
Expand All @@ -67,7 +67,7 @@ jobs:

steps:
- name: Checkout repo
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

- name: Install code-server
run: ./install.sh
Expand Down
Loading