Compare commits

..

21 Commits

Author SHA1 Message Date
Joe Previte
8ed7498b3c fixup: include description ts-expect-error comment 2022-12-06 08:55:24 -07:00
Joe Previte
73b61ecfb6 feat(wrapper): add tests for isChild 2022-12-05 16:11:45 -07:00
Joe Previte
292a63dccd Merge branch 'main' into release/v4.9.0 2022-12-05 15:43:33 -07:00
Joe Previte
60ab23f008 chore: pin all jobs in build to ubuntu 20.04 2022-12-05 15:41:08 -07:00
Joe Previte
40396cc810 chore: use ubuntu-22.04 for e2e 2022-12-02 15:20:36 -07:00
Joe Previte
0c7a60e407 chore: add notes to changelog 2022-12-02 13:56:17 -07:00
Joe Previte
e701b74952 chore: update prettierignore 2022-12-02 13:56:10 -07:00
Joe Previte
c761199923 chore: pin ubuntu runner in build code-server 2022-12-02 13:48:55 -07:00
Joe Previte
956ed96a2c Revert "fix: add +x to product.json in build-vscode"
This reverts commit fc4d2b532f.
2022-12-02 13:44:13 -07:00
Joe Previte
2b32b10e87 fixup!: fix: keep product.json file permissions in release 2022-12-02 13:42:37 -07:00
Joe Previte
ace09103a2 chore: update package.json bust cache 2022-12-02 11:31:53 -07:00
Joe Previte
f7db2a0dd8 trigger ci 2022-12-02 11:25:57 -07:00
Joe Previte
0f66360646 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`.
2022-12-02 11:03:20 -07:00
Joe Previte
130f52e6b7 chore: increase timeout 2022-12-01 12:28:58 -07:00
Joe Previte
c9279ccbe4 Merge branch 'main' into release/v4.9.0 2022-12-01 11:07:47 -07:00
Joe Previte
fc4d2b532f 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.
2022-12-01 10:19:47 -07:00
Joe Previte
9efbd2d59c Merge branch 'main' into release/v4.9.0 2022-11-30 12:36:16 -07:00
Joe Previte
ccf882f830 Merge branch 'main' into release/v4.9.0 2022-11-10 13:49:07 -07:00
Joe Previte
96b3c3e024 Merge branch 'main' into release/v4.9.0 2022-11-10 12:46:39 -07:00
Joe Previte
17d41135f3 fixup 2022-11-10 11:51:50 -07:00
Joe Previte
9694242b2f wip: changelog 2022-11-10 11:51:50 -07:00
12 changed files with 71 additions and 54 deletions

View File

@@ -324,7 +324,7 @@ jobs:
run: tar -xzf package.tar.gz
- name: Install release package dependencies
run: cd release && npm install --unsafe-perm --omit=dev
run: cd release && yarn install
- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
@@ -380,7 +380,7 @@ jobs:
run: tar -xzf package.tar.gz
- name: Install release package dependencies
run: cd release && npm install --unsafe-perm --omit=dev
run: cd release && yarn install
- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'

View File

@@ -127,8 +127,6 @@ jobs:
- name: Validate package
uses: hapakaien/archlinux-package-action@v2
env:
VERSION: ${{ env.VERSION }}
with:
pkgver: ${{ env.VERSION }}
updpkgsums: true

View File

@@ -44,13 +44,11 @@ jobs:
run: |
yum install -y epel-release centos-release-scl make
yum install -y devtoolset-9-{make,gcc,gcc-c++} jq rsync python3
# for keytar
yum install -y libsecret-devel
- name: Install nfpm and envsubst
run: |
mkdir -p ~/.local/bin
curl -sSfL https://github.com/goreleaser/nfpm/releases/download/v2.22.2/nfpm_2.22.2_`uname -s`_`uname -m`.tar.gz | tar -C ~/.local/bin -zxv nfpm
curl -sSfL https://github.com/goreleaser/nfpm/releases/download/v2.3.1/nfpm_2.3.1_`uname -s`_`uname -m`.tar.gz | tar -C ~/.local/bin -zxv nfpm
curl -sSfL https://github.com/a8m/envsubst/releases/download/v1.1.0/envsubst-`uname -s`-`uname -m` -o envsubst
chmod +x envsubst
mv envsubst ~/.local/bin
@@ -70,9 +68,19 @@ jobs:
# NOTE: && here is deliberate - GitHub puts each line in its own `.sh`
# file when running inside a docker container.
- name: Build standalone release
run: source scl_source enable devtoolset-9 && npm run release:standalone
run: source scl_source enable devtoolset-9 && yarn release:standalone
- name: Fetch dependencies from cache
id: cache-node-modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: yarn-build-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-build-
- name: Install test dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: SKIP_SUBMODULE_DEPS=1 yarn --frozen-lockfile
- name: Run integration tests on standalone release
@@ -119,11 +127,11 @@ jobs:
# but this means we don't need to maintain a self-hosted runner!
# NOTE@jsjoeio:
# We used to use 18.04 until GitHub browned it out on December 15, 2022
# See here: https://github.com/actions/runner-images/issues/6002
# We used to use 16.04 until GitHub deprecated it on September 20, 2021
# See here: https://github.com/actions/virtual-environments/pull/3862/files
package-linux-cross:
name: Linux cross-compile builds
runs-on: ubuntu-20.04
runs-on: ubuntu-18.04
timeout-minutes: 15
needs: npm-version
strategy:
@@ -170,8 +178,6 @@ jobs:
- name: Decompress npm package
run: tar -xzf package.tar.gz
# NOTE@jsjoeio - npm fails here
# so use yarn
- name: Build standalone release
run: yarn release:standalone
@@ -228,9 +234,19 @@ jobs:
run: tar -xzf package.tar.gz
- name: Build standalone release
run: npm run release:standalone
run: yarn release:standalone
- name: Fetch dependencies from cache
id: cache-node-modules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: yarn-build-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-build-
- name: Install test dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: SKIP_SUBMODULE_DEPS=1 yarn install
- name: Run native module tests on standalone release
@@ -283,9 +299,8 @@ jobs:
branch: ${{ github.ref }}
workflow: build.yaml
workflow_conclusion: completed
check_artifacts: true
name: npm-package
check_artifacts: false
if_no_artifact_found: fail
- name: Decompress npm package
run: tar -xzf package.tar.gz
@@ -306,7 +321,7 @@ 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
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

View File

@@ -20,27 +20,14 @@ Code v99.99.999
-->
## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-12-06
## [4.9.0](https://github.com/coder/code-server/releases/tag/v4.9.0) - 2022-11-14
Code v1.73.1
Code v1.73.0
### Changed
WIP
- 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)
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

View File

@@ -22,4 +22,4 @@ contents:
dst: /usr/lib/systemd/user/code-server.service
- src: ./release-standalone/*
dst: /usr/lib/code-server
dst: /usr/lib/code-server/

View File

@@ -124,18 +124,27 @@ main() {
}
install_with_yarn_or_npm() {
echo "User agent: ${npm_config_user_agent-none}"
# NOTE@edvincent: We want to keep using the package manager that the end-user was using to install the package.
# This also ensures that when *we* run `yarn` in the development process, the yarn.lock file is used.
case "${npm_config_user_agent-}" in
npm*)
# HACK: NPM's use of semver doesn't like resolving some peerDependencies that vscode (upstream) brings in the form of pre-releases.
# The legacy behavior doesn't complain about pre-releases being used, falling back to that for now.
# See https://github.com//pull/5071
npm install --unsafe-perm --legacy-peer-deps --omit=dev
;;
yarn*)
yarn --production --frozen-lockfile --no-default-rc
if [ -f "yarn.lock" ]; then
yarn --production --frozen-lockfile --no-default-rc
else
echo "yarn.lock file not present, not running in development mode. use npm to install code-server!"
exit 1
fi
;;
npm*)
if [ -f "yarn.lock" ]; then
echo "yarn.lock file present, running in development mode. use yarn to install code-server!"
exit 1
else
# HACK: NPM's use of semver doesn't like resolving some peerDependencies that vscode (upstream) brings in the form of pre-releases.
# The legacy behavior doesn't complain about pre-releases being used, falling back to that for now.
# See https://github.com//pull/5071
npm install --unsafe-perm --legacy-peer-deps --omit=dev
fi
;;
*)
echo "Could not determine which package manager is being used to install code-server"

View File

@@ -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.4.0
version: 3.3.3
# 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.9.0
appVersion: 4.8.3

View File

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

View File

@@ -83,8 +83,7 @@
"nanoid": "^3.1.31",
"minimist": "npm:minimist-lite@2.2.1",
"glob-parent": "^6.0.1",
"@types/node": "^16.0.0",
"qs": "^6.7.3"
"@types/node": "^16.0.0"
},
"dependencies": {
"@coder/logger": "^3.0.0",

View File

@@ -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.
*/
export class ChildProcess extends Process {
class ChildProcess extends Process {
public logger = logger.named(`child:${process.pid}`)
public constructor(private readonly parentPid: number) {

View File

@@ -1,4 +1,5 @@
import { ChildProcess, ParentProcess, isChild } from "../../../src/node/wrapper"
import { ChildProcess } from "child_process"
import { ParentProcess, isChild } from "../../../src/node/wrapper"
describe("wrapper", () => {
describe("isChild", () => {
@@ -8,7 +9,10 @@ describe("wrapper", () => {
})
})
it("should return false for parent process", () => {
const childProc = new ChildProcess(1)
expect(isChild(childProc)).toBe(true)
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)
})
})

View File

@@ -2812,13 +2812,18 @@ punycode@^2.1.0:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
qs@6.11.0, qs@6.7.0, qs@^6.7.3:
qs@6.11.0:
version "6.11.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
dependencies:
side-channel "^1.0.4"
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
queue-microtask@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3"