From 1484bee621717ca49a50b1ed69184b66712497f0 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Tue, 6 Dec 2022 13:28:27 -0700 Subject: [PATCH] release: 4.9.0 (#5772) * wip: changelog * fixup * 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. * chore: increase timeout * 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`. * trigger ci * chore: update package.json bust cache * fixup!: fix: keep product.json file permissions in release * Revert "fix: add +x to product.json in build-vscode" This reverts commit fc4d2b532f41277d6b93243cd6bd2ba2434f80d6. * chore: pin ubuntu runner in build code-server * chore: update prettierignore * chore: add notes to changelog * chore: use ubuntu-22.04 for e2e * chore: pin all jobs in build to ubuntu 20.04 * feat(wrapper): add tests for isChild * fixup: include description ts-expect-error comment * chore: update CHANGELOG * chore: update Helm chart * fixup: use our childProcess * Update CHANGELOG.md Co-authored-by: Asher Co-authored-by: Asher --- .github/workflows/build.yaml | 18 +++++++++--------- .github/workflows/release.yaml | 2 ++ .prettierignore | 1 + CHANGELOG.md | 22 ++++++++++++++++++++++ ci/helm-chart/Chart.yaml | 4 ++-- ci/helm-chart/values.yaml | 2 +- package.json | 3 ++- src/node/wrapper.ts | 2 +- test/unit/node/wrapper.test.ts | 14 ++++++++++++++ 9 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 test/unit/node/wrapper.test.ts diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index df8b634ef..0ba456df3 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 @@ -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 }} @@ -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,8 +295,8 @@ jobs: test-e2e: name: Run e2e tests needs: build - runs-on: ubuntu-latest - timeout-minutes: 15 + runs-on: ubuntu-20.04 + timeout-minutes: 25 steps: - name: Checkout repo uses: actions/checkout@v3 @@ -351,7 +351,7 @@ jobs: test-e2e-proxy: name: Run e2e tests behind proxy needs: build - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 timeout-minutes: 25 steps: - name: Checkout repo diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 429f5d345..d39cdbf55 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 644 release/lib/vscode/product.json - name: Compress release package run: tar -czf package.tar.gz release diff --git a/.prettierignore b/.prettierignore index 3fce0749e..b9056e145 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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1de833e7a..8d48c587b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,28 @@ Code v99.99.999 --> +## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-12-06 + +Code v1.73.1 + +### 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 + +- `--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 Code v1.72.1 diff --git a/ci/helm-chart/Chart.yaml b/ci/helm-chart/Chart.yaml index 2d4ff8d20..7ec6a61d8 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 ac047a428..8257fe085 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 diff --git a/package.json b/package.json index e2fc3e176..c20280e21 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,8 @@ "ide", "coder", "vscode-remote", - "browser-ide" + "browser-ide", + "remote-development" ], "engines": { "node": "16" diff --git a/src/node/wrapper.ts b/src/node/wrapper.ts index 755914bb9..2b1d88d57 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 new file mode 100644 index 000000000..4aa14bda5 --- /dev/null +++ b/test/unit/node/wrapper.test.ts @@ -0,0 +1,14 @@ +import { ChildProcess, 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 childProc = new ChildProcess(1) + expect(isChild(childProc)).toBe(true) + }) +})