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 fc4d2b532f.

* 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 <ash@coder.com>

Co-authored-by: Asher <ash@coder.com>
This commit is contained in:
Joe Previte 2022-12-06 13:28:27 -07:00 committed by GitHub
parent f43082e142
commit 1484bee621
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 54 additions and 14 deletions

View File

@ -24,7 +24,7 @@ concurrency:
jobs: jobs:
prettier: prettier:
name: Format with Prettier name: Format with Prettier
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
steps: steps:
- name: Checkout repo - name: Checkout repo
@ -37,7 +37,7 @@ jobs:
doctoc: doctoc:
name: Doctoc markdown files name: Doctoc markdown files
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
steps: steps:
- name: Checkout repo - name: Checkout repo
@ -66,7 +66,7 @@ jobs:
lint-helm: lint-helm:
name: Lint Helm chart name: Lint Helm chart
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
steps: steps:
- name: Checkout repo - name: Checkout repo
@ -97,7 +97,7 @@ jobs:
lint-ts: lint-ts:
name: Lint TypeScript files name: Lint TypeScript files
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 5 timeout-minutes: 5
steps: steps:
- name: Checkout repo - name: Checkout repo
@ -141,7 +141,7 @@ jobs:
build: build:
name: Build code-server name: Build code-server
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 30 timeout-minutes: 30
env: env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@ -244,7 +244,7 @@ jobs:
# Only run if PR comes from base repo or event is not a PR # Only run if PR comes from base repo or event is not a PR
# Reason: forks cannot access secrets and this will always fail # 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' 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: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -295,8 +295,8 @@ jobs:
test-e2e: test-e2e:
name: Run e2e tests name: Run e2e tests
needs: build needs: build
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 15 timeout-minutes: 25
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -351,7 +351,7 @@ jobs:
test-e2e-proxy: test-e2e-proxy:
name: Run e2e tests behind proxy name: Run e2e tests behind proxy
needs: build needs: build
runs-on: ubuntu-latest runs-on: ubuntu-20.04
timeout-minutes: 25 timeout-minutes: 25
steps: steps:
- name: Checkout repo - name: Checkout repo

View File

@ -322,6 +322,8 @@ jobs:
echo "Updating version in lib/vscode/product.json" echo "Updating version in lib/vscode/product.json"
tmp=$(mktemp) tmp=$(mktemp)
jq '.codeServerVersion = "$VERSION"' release/lib/vscode/product.json > "$tmp" && mv "$tmp" release/lib/vscode/product.json 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 - name: Compress release package
run: tar -czf package.tar.gz release run: tar -czf package.tar.gz release

View File

@ -1,6 +1,7 @@
lib/vscode lib/vscode
lib/vscode-reh-web-linux-x64 lib/vscode-reh-web-linux-x64
release-standalone release-standalone
release-packages
release release
helm-chart helm-chart
test/scripts test/scripts

View File

@ -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 ## [4.8.3](https://github.com/coder/code-server/releases/tag/v4.8.3) - 2022-11-07
Code v1.72.1 Code v1.72.1

View File

@ -15,9 +15,9 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # 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. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # 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 # 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 # 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. # follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 4.8.3 appVersion: 4.9.0

View File

@ -6,7 +6,7 @@ replicaCount: 1
image: image:
repository: codercom/code-server repository: codercom/code-server
tag: '4.8.3' tag: '4.9.0'
pullPolicy: Always pullPolicy: Always
# Specifies one or more secrets to be used when pulling images from a # Specifies one or more secrets to be used when pulling images from a

View File

@ -116,7 +116,8 @@
"ide", "ide",
"coder", "coder",
"vscode-remote", "vscode-remote",
"browser-ide" "browser-ide",
"remote-development"
], ],
"engines": { "engines": {
"node": "16" "node": "16"

View File

@ -147,7 +147,7 @@ abstract class Process {
* Child process that will clean up after itself if the parent goes away and can * 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. * 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 logger = logger.named(`child:${process.pid}`)
public constructor(private readonly parentPid: number) { public constructor(private readonly parentPid: number) {

View File

@ -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)
})
})