From 9694242b2fce4e98b4a2e36f4885112c3bcfda5c Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Thu, 10 Nov 2022 11:40:31 -0700 Subject: [PATCH 01/20] wip: changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1de833e7a662..463202c0b8f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,13 @@ Code v99.99.999 --> +## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-11-14 + +Code v1.73.0 + +WIP + + ## [4.8.3](https://github.com/coder/code-server/releases/tag/v4.8.3) - 2022-11-07 Code v1.72.1 From 17d41135f3d443dbc15d1ea24d6852232128acb5 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Thu, 10 Nov 2022 11:51:46 -0700 Subject: [PATCH 02/20] fixup --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 463202c0b8f2..ced8089250fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,6 @@ Code v1.73.0 WIP - ## [4.8.3](https://github.com/coder/code-server/releases/tag/v4.8.3) - 2022-11-07 Code v1.72.1 From fc4d2b532f41277d6b93243cd6bd2ba2434f80d6 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Thu, 1 Dec 2022 10:18:36 -0700 Subject: [PATCH 03/20] fix: add +x to product.json in build-vscode While testing a pre-release, there seems to be a bug with the file permissions for `product.json`. Adding `chmod +x` to see if that fixes it. --- ci/build/build-vscode.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index 631964d5e7e4..76a61bbce924 100755 --- a/ci/build/build-vscode.sh +++ b/ci/build/build-vscode.sh @@ -90,6 +90,8 @@ main() { EOF ) > product.json + chmod +x product.json + # Any platform here works since we will do our own packaging. We have to do # this because we have an NPM package that could be installed on any platform. # The correct platform dependencies and scripts will be installed as part of From 130f52e6b793c72b81deec71d7139528f27a8919 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Thu, 1 Dec 2022 12:28:58 -0700 Subject: [PATCH 04/20] chore: increase timeout --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index df8b634ef9ec..52c5239d2d32 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -296,7 +296,7 @@ jobs: name: Run e2e tests needs: build runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 25 steps: - name: Checkout repo uses: actions/checkout@v3 From 0f66360646b842a620af2d5e7ce40da7f76b5931 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 11:03:20 -0700 Subject: [PATCH 05/20] fix: keep product.json file permissions in release When we added the change to modify the `package.json` version using `mv` and `jq` we didn't account for lost file permissions. This caused a bug only happening in CI. This should fix it by giving it 755 via `chmod`. --- .github/workflows/release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 429f5d3455fc..9debf7de4690 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -322,6 +322,8 @@ jobs: echo "Updating version in lib/vscode/product.json" tmp=$(mktemp) jq '.codeServerVersion = "$VERSION"' release/lib/vscode/product.json > "$tmp" && mv "$tmp" release/lib/vscode/product.json + # Ensure it has the same permissions as before + chmod 755 release/lib/vscode/product.json - name: Compress release package run: tar -czf package.tar.gz release From f7db2a0dd8b3ee04439a0a27d88b4645a2626eb1 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 11:25:57 -0700 Subject: [PATCH 06/20] trigger ci From ace09103a2866bfd2f4fe2ccafbb27ab48d2d7a0 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 11:31:53 -0700 Subject: [PATCH 07/20] chore: update package.json bust cache --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e2fc3e1764bb..c20280e21282 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,8 @@ "ide", "coder", "vscode-remote", - "browser-ide" + "browser-ide", + "remote-development" ], "engines": { "node": "16" From 2b32b10e87513d8daf54db19eb9f5676c4def69b Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 13:42:37 -0700 Subject: [PATCH 08/20] fixup!: fix: keep product.json file permissions in release --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9debf7de4690..d39cdbf55feb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -323,7 +323,7 @@ jobs: tmp=$(mktemp) jq '.codeServerVersion = "$VERSION"' release/lib/vscode/product.json > "$tmp" && mv "$tmp" release/lib/vscode/product.json # Ensure it has the same permissions as before - chmod 755 release/lib/vscode/product.json + chmod 644 release/lib/vscode/product.json - name: Compress release package run: tar -czf package.tar.gz release From 956ed96a2c0b13ec0e69217df1d19435bafb17a7 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 13:44:13 -0700 Subject: [PATCH 09/20] Revert "fix: add +x to product.json in build-vscode" This reverts commit fc4d2b532f41277d6b93243cd6bd2ba2434f80d6. --- ci/build/build-vscode.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh index 78513de743b1..15489279833a 100755 --- a/ci/build/build-vscode.sh +++ b/ci/build/build-vscode.sh @@ -96,8 +96,6 @@ main() { EOF ) > product.json - chmod +x product.json - # Any platform here works since we will do our own packaging. We have to do # this because we have an NPM package that could be installed on any platform. # The correct platform dependencies and scripts will be installed as part of From c761199923f803317a96a322e629d5a7b1ccea80 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 13:48:55 -0700 Subject: [PATCH 10/20] chore: pin ubuntu runner in build code-server --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 52c5239d2d32..a83ccbed2a94 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -141,7 +141,7 @@ jobs: build: name: Build code-server - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 30 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From e701b7495230f251ab4a2d800c3604ec2760ecc8 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 13:56:10 -0700 Subject: [PATCH 11/20] chore: update prettierignore --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index 3fce0749e9f8..b9056e145fb7 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,7 @@ lib/vscode lib/vscode-reh-web-linux-x64 release-standalone +release-packages release helm-chart test/scripts From 0c7a60e40790cc09e8cd328456cb4303949ae11e Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 13:56:17 -0700 Subject: [PATCH 12/20] chore: add notes to changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ced8089250fc..026a634a03af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,9 @@ Code v1.73.0 WIP +known issues: https://github.com/adobe/fetch/pull/318#issuecomment-1306070259 +cert won't work for anyone using Ubuntu 22.04 + ## [4.8.3](https://github.com/coder/code-server/releases/tag/v4.8.3) - 2022-11-07 Code v1.72.1 From 40396cc810d14449a8a8baa210d486755828d2f4 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Fri, 2 Dec 2022 15:20:36 -0700 Subject: [PATCH 13/20] chore: use ubuntu-22.04 for e2e --- .github/workflows/build.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a83ccbed2a94..edcb981d1048 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -295,7 +295,7 @@ jobs: test-e2e: name: Run e2e tests needs: build - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 timeout-minutes: 25 steps: - name: Checkout repo @@ -351,7 +351,7 @@ jobs: test-e2e-proxy: name: Run e2e tests behind proxy needs: build - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 timeout-minutes: 25 steps: - name: Checkout repo From 60ab23f0083efdcda5f97aad8ea3f65686d59402 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Mon, 5 Dec 2022 15:41:08 -0700 Subject: [PATCH 14/20] chore: pin all jobs in build to ubuntu 20.04 --- .github/workflows/build.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index edcb981d1048..0ba456df3778 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ concurrency: jobs: prettier: name: Format with Prettier - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 5 steps: - name: Checkout repo @@ -37,7 +37,7 @@ jobs: doctoc: name: Doctoc markdown files - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 5 steps: - name: Checkout repo @@ -66,7 +66,7 @@ jobs: lint-helm: name: Lint Helm chart - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 5 steps: - name: Checkout repo @@ -97,7 +97,7 @@ jobs: lint-ts: name: Lint TypeScript files - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 5 steps: - name: Checkout repo @@ -244,7 +244,7 @@ jobs: # Only run if PR comes from base repo or event is not a PR # Reason: forks cannot access secrets and this will always fail if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request' - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout repo uses: actions/checkout@v3 @@ -295,7 +295,7 @@ jobs: test-e2e: name: Run e2e tests needs: build - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 timeout-minutes: 25 steps: - name: Checkout repo @@ -351,7 +351,7 @@ jobs: test-e2e-proxy: name: Run e2e tests behind proxy needs: build - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 timeout-minutes: 25 steps: - name: Checkout repo From 73b61ecfb67732d17bdd5152fea1ecdf9f723cfd Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Mon, 5 Dec 2022 16:11:45 -0700 Subject: [PATCH 15/20] feat(wrapper): add tests for isChild --- test/unit/node/wrapper.test.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test/unit/node/wrapper.test.ts diff --git a/test/unit/node/wrapper.test.ts b/test/unit/node/wrapper.test.ts new file mode 100644 index 000000000000..7c8a6bf05d76 --- /dev/null +++ b/test/unit/node/wrapper.test.ts @@ -0,0 +1,18 @@ +import { ChildProcess } from "child_process" +import { ParentProcess, isChild } from "../../../src/node/wrapper" + +describe("wrapper", () => { + describe("isChild", () => { + it("should return false for parent process", () => { + const p = new ParentProcess("1") + expect(isChild(p)).toBe(false) + }) + }) + it("should return false for parent process", () => { + const p = new ChildProcess() + // our ChildProcess isn't exported + // and shouldn't be for a test so surpressing TS error. + // @ts-expect-error + expect(isChild(p)).toBe(false) + }) +}) From 8ed7498b3c82c265afc0d3eecd4aa52a5899fe88 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 08:55:24 -0700 Subject: [PATCH 16/20] fixup: include description ts-expect-error comment --- test/unit/node/wrapper.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/node/wrapper.test.ts b/test/unit/node/wrapper.test.ts index 7c8a6bf05d76..e38dffb0923f 100644 --- a/test/unit/node/wrapper.test.ts +++ b/test/unit/node/wrapper.test.ts @@ -12,7 +12,7 @@ describe("wrapper", () => { const p = new ChildProcess() // our ChildProcess isn't exported // and shouldn't be for a test so surpressing TS error. - // @ts-expect-error + // @ts-expect-error - see above expect(isChild(p)).toBe(false) }) }) From a89d3e3bf2ebb5a810cf0ac9712cade9c45865d5 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 09:01:37 -0700 Subject: [PATCH 17/20] chore: update CHANGELOG --- CHANGELOG.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 026a634a03af..375358e7bf06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,14 +20,27 @@ Code v99.99.999 --> -## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-11-14 +## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-12-06 Code v1.73.0 -WIP +### Changed + +- Upgraded to Code 1.73.1 + +### Added + +- `/security.txt` added as a route with info on our security policy information thanks to @ghuntley + +### Fixed + +- Installing on majaro images should now work thanks to @MrPeacockNLB for + adding the `--noconfirm` flag in `install.sh` + +### Known Issues -known issues: https://github.com/adobe/fetch/pull/318#issuecomment-1306070259 -cert won't work for anyone using Ubuntu 22.04 +- `--cert` on Ubuntu 22.04: OpenSSL v3 is used which breaks `pem` meaning the + `--cert` feature will not work. [Reference](https://github.com/adobe/fetch/pull/318#issuecomment-1306070259) ## [4.8.3](https://github.com/coder/code-server/releases/tag/v4.8.3) - 2022-11-07 From 4a5ef4c746fd033f5d0671c793aab5b4ff1c380d Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 09:02:35 -0700 Subject: [PATCH 18/20] chore: update Helm chart --- ci/helm-chart/Chart.yaml | 4 ++-- ci/helm-chart/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/helm-chart/Chart.yaml b/ci/helm-chart/Chart.yaml index 2d4ff8d20524..7ec6a61d811d 100644 --- a/ci/helm-chart/Chart.yaml +++ b/ci/helm-chart/Chart.yaml @@ -15,9 +15,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 3.3.3 +version: 3.4.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: 4.8.3 +appVersion: 4.9.0 diff --git a/ci/helm-chart/values.yaml b/ci/helm-chart/values.yaml index ac047a4286b9..8257fe085155 100644 --- a/ci/helm-chart/values.yaml +++ b/ci/helm-chart/values.yaml @@ -6,7 +6,7 @@ replicaCount: 1 image: repository: codercom/code-server - tag: '4.8.3' + tag: '4.9.0' pullPolicy: Always # Specifies one or more secrets to be used when pulling images from a From 73fadddce7b9764d9759af08fa15beac0006e767 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 11:27:32 -0700 Subject: [PATCH 19/20] fixup: use our childProcess --- src/node/wrapper.ts | 2 +- test/unit/node/wrapper.test.ts | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/node/wrapper.ts b/src/node/wrapper.ts index 755914bb9982..2b1d88d57032 100644 --- a/src/node/wrapper.ts +++ b/src/node/wrapper.ts @@ -147,7 +147,7 @@ abstract class Process { * Child process that will clean up after itself if the parent goes away and can * perform a handshake with the parent and ask it to relaunch. */ -class ChildProcess extends Process { +export class ChildProcess extends Process { public logger = logger.named(`child:${process.pid}`) public constructor(private readonly parentPid: number) { diff --git a/test/unit/node/wrapper.test.ts b/test/unit/node/wrapper.test.ts index e38dffb0923f..4aa14bda5536 100644 --- a/test/unit/node/wrapper.test.ts +++ b/test/unit/node/wrapper.test.ts @@ -1,5 +1,4 @@ -import { ChildProcess } from "child_process" -import { ParentProcess, isChild } from "../../../src/node/wrapper" +import { ChildProcess, ParentProcess, isChild } from "../../../src/node/wrapper" describe("wrapper", () => { describe("isChild", () => { @@ -9,10 +8,7 @@ describe("wrapper", () => { }) }) it("should return false for parent process", () => { - const p = new ChildProcess() - // our ChildProcess isn't exported - // and shouldn't be for a test so surpressing TS error. - // @ts-expect-error - see above - expect(isChild(p)).toBe(false) + const childProc = new ChildProcess(1) + expect(isChild(childProc)).toBe(true) }) }) From 99033ddba2b3a09dbe84dd4df6fd6375d26d321e Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 11:30:02 -0700 Subject: [PATCH 20/20] Update CHANGELOG.md Co-authored-by: Asher --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 375358e7bf06..8d48c587bb28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ Code v99.99.999 ## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-12-06 -Code v1.73.0 +Code v1.73.1 ### Changed