Commit Graph

68 Commits

Author SHA1 Message Date
Asher f5c121a2ff
Switch fully to npm
This is to match VS Code.  We were already partially using npm for the
releases so this is some nice alignment.
2024-10-04 17:00:51 -08:00
Joe Previte b978655c07
refactor: get version dynamically (#5753)
* refactor: get version dynamically

* chore: remove version

* fixup: missing quotes

* refactor: drop global VERSION

* wip: updating ersion in publish

* refactor: update publish.yaml with version changes

* refactor: release.yaml with new version changes

* refactor: update build.yaml with version changes

* chore: update maintainer

* fixup: update version in build-vscode

* fixup: fix github env version

* try macos only

* try again

* last resort

* joe again

* this oneee

* fixup: this should work

* try using inputs

* docs: update release notes

* fixup!: use env.VERSION in docker step

* fixup!: comment get and set version

* fixup!: remove compress release package comment

* fixup!: use $VERSION in npm-version

* refactor: set VERSION in build VS Code step

* refactor: use 0.0.0 in package.json version

* refactor: delete release-prep script

* Update ci/build/build-vscode.sh

* fixup!: remove extra VERSION set in aur
2022-11-08 22:45:01 +00:00
Joe Previte d1acfad2a8
chore: fix npm publish logic (#5493)
* chore: clean up logging in npm script

* fix: catch error if npm version missing

npm changed the way the `npm view` command handles missing versions.
Before it exited with a non-error. Now it errors.

Ref: https://github.com/npm/cli/pull/5035

This modifies the script logic to handle those new changes.
2022-08-23 11:36:24 -07:00
Asher 9087e0c091
fix: invoking code-server in integrated terminal (#5360)
* Include bin scripts for all platforms

These will get symlinked as part of the postinstall.  These scripts
provide everything ours does inside the integrated terminal plus more.

* Improve OS detection

Specifically for Windows although we do not yet support Windows.

Also standardize the duplicate arch functions since they had drifted
from each other bit.

* Remove duplicate asar symlink

Since standalone releases run the postinstall they will get the asar
symlink there.  That means the symlink will not exist for the npm
package and we will not need to ignore it.

The symlink portion is split out so it can be re-used for other
symlinks (for example linking bin scripts).

* Add symlinks to bin scripts

* Add test for opening a file from the terminal

* Add global Playwright timeout

Otherwise it will exceed the Actions timeout and get rudely killed
without any output.

* Make sed work on macOS

* Fix Node path in bin scripts

* Disable shellcheck expansion error

* Make scripts executable

* Remove .bak files created by sed

* Include Code build script in cache hash

Otherwise if we change the script it will not rebuild Code.

* Make sure the terminal opens

The selector was timing out even though it matched more than one element
but matching on the focused one appears to work.

In addition add a loop so it can keep trying to open the terminal
if something goes wrong with the focus.
2022-08-04 16:03:28 +00:00
Joe Previte e189435a6a
feat: add message to brew publish (#5341) 2022-07-15 16:24:33 +00:00
Joe Previte e7e6c163ed
revert(docs): partially revert 326a1d1862 (#5095)
We tried to switch from `yarn` to `npm` because `yarn` ignores lockfiles
but learned that we missed a few key things.

For now, we are reverting docs and a few other changes that suggested
using `npm` instead of `yarn` until we fully remove `yarn` from the
codebase.
t Please enter the commit message for your changes. Lines starting
2022-04-13 17:15:21 +00:00
Joe Previte 0fceb128f7
fix(npm): write npm package name to file (#5049) 2022-03-30 18:11:11 -05:00
Joe Previte 8316a27da4
refactor(brew-bump): fix homebrew bump script (#5025)
* fix: source lib.sh in docker-buildx-push for tagging version

* chore: use ubuntu and update git config homebrew job

* refactor: simplify brew-bump.sh script

* Revert "fix: source lib.sh in docker-buildx-push for tagging version"

This reverts commit 2f7a3610cb.
2022-03-29 16:58:34 -07:00
Edouard Vincent 326a1d1862
feat: Add a shrinkwrap file to the NPM release (#5010) 2022-03-29 12:33:56 -05:00
Joe Previte e1c1ba8b36
fix: source lib.sh in docker-buildx-push for tagging version (#5024) 2022-03-24 09:33:39 -07:00
Joe Previte be727871f6
refactor: checkout homebrew-core in action instead of script (#4996)
* refactor: checkout homebrew-core in action instead of script

This moves the git clone step from the `brew-bump.sh` script into the
`npm-brew.yaml` as part of the job using actions/checkout instead.

* refactor: clean up brew-bump.sh script

* fixup

* fixup!: remove step to clean up homebrew repo

* fixup!: use correct ./ci path steps-lib.sh

* fixup!: add exit code 0 for duplicate PRs
2022-03-21 16:57:36 -07:00
Joe Previte 5afb26fb60
fix(ci): correctly download npm/docker artifacts (#4995)
* fix(ci): correctly download npm artifact

* fixup! fix(ci): correctly download npm artifact

* docs: update MAINTAINING

* fixup! docs: update MAINTAINING

* fixup! Merge branch 'main' into 4949-chore-fix-npm-workflow

* chore: get ci to run

* refactor: use vVERSION branch name instead of release

* refactor: use new download artifact in docker workflow

* refactor: clean up release-github-assets script

* fixup: remove extra v

* fixup! fixup: remove extra v
2022-03-17 11:52:39 -07:00
Joe Previte a0561c7685
feat(ci): publish dev builds to @coder/code-server-pr (#4972)
* feat(npm): use DEV_PACKAGE_NAME for development

* feat(ci): use npm v7 in npm job

* fixup: add npm version

* fixup: always set package name

* wip

* fix: check for npm and npm v7

* fixup

* fixup: move after release dir created

* fixup: use jq

* fixup: use jq correctly
2022-03-15 16:59:40 -07:00
Jonathan Yu 03c62242ee
chore: allow overwriting Docker images (#4850)
Allow Docker images to be overwritten, which is required to update
dependencies in the base image when the upstream vendor resolves
security issues.
2022-02-11 09:32:02 -08:00
Jonathan Yu 8135d2ecc3
chore: update Docker image publish workflow (#4847)
* Use official action to log in to Docker Hub
* Run using pinned ubuntu-20.04 environment
2022-02-10 17:40:41 -08:00
Joe Previte fd643dcbc3
refactor(ci): fix npm workflows (#4797)
* feat: refactor npm workflows to use download-artifact

This refactors the npm workflows to use the download-artifact GitHub Action. We
had problems in the past with our download_artifact custom bash function. This
also fixes an issue where we weren't downloading the correct artifacts when
publishing beta and dev tags to npm.

* fixup: remove unused env var

* fixup! add download-artifcat to npm-brew"

* fixup! remove unnecessary code comment

* fixup! move NPM_ENVIRONMENT logic to script
2022-02-03 13:54:36 -07:00
LG 10f57bac65
docs: Update some more links (#4806)
* Update links in package.json

I will try checking the docs too

* docs: Update links in triage.md

* docs: Update links in npm.md

* docs: Update links in whatever files that have `cdr`

* Replace globally, thanks @bpmct!

* fix: coderer instead of coder
I should've used all three toggles in the Search/Replace tab in the GItHub.dev editor.

* Code Formatting
2022-02-01 09:45:19 -07:00
Joe Previte a2f530161f
feat: publish beta and development tags on npm (#4769)
* feat: add logic to publish beta/dev npm

This adds new log to publish the npm package both while working on PRs and when
PRs are merged into main, allowing us to easily test changes in a
production-like setting.

Co-authored-by: Asher <ash@coder.com>
2022-01-21 16:28:56 -07:00
Joe Previte 48ddad8351
fix: reverse logic in brew-bump env fns (#4732) 2022-01-12 15:51:11 -07:00
Joe Previte 8ef950af4c
feat(brew-bump): add check for cleanup step 2021-09-28 16:07:01 -07:00
Joe Previte e5f03e0b06
fix: add checks and handle errors brew-bump.sh
feat(script): add steps-lib, is_env_var_set & test

feat(brew-bump): add check for VERSION

feat(brew-bump): check HOMEBREW_GITHUB_API_TOKEN

feat(steps-lib): add directory_exists helper fn

fix(brew-bump): check that git clone worked

feat(brew-bump): add check for remote upstream

fix: remove upstream command thing

feat(steps-lib): add file_exists helper function

feat(brew-bump): add check for git-askpass.sh

feat(steps-lib): add is_executable function & test

feat(brew-bump): add check for is_executable

refactor: use GIT_ASKPASS as variable
2021-09-28 16:06:57 -07:00
Joe Previte bffb009ecd
fix: add symlink to npmignore 2021-08-11 13:49:25 -07:00
Akash Satheesan 93c89ba0e8
fix(ci): build+push image in release flow (#3838) 2021-07-29 23:31:46 +05:30
Asher 589982f027
Fix incorrect manifest build
I mistakenly thought they were for each arch but it's for the version
and latest which makes a *lot* more sense.
2021-07-16 18:25:54 -05:00
Asher a32df56f99
Skip Docker if already pushed 2021-07-16 17:39:52 -05:00
Asher 4cfa384bb4
Skip brew if already published 2021-07-16 17:39:51 -05:00
Asher 3c0799fa59
Skip npm publish if already published
This helps make the publish workflow idempotent.
2021-07-16 17:39:50 -05:00
Asher 8608d8ec74
Fix Docker push
It seems we need to use `docker import` with the output from `docker
buildx` rather than `docker load` like we were doing when we used
`docker save`.
2021-07-16 17:39:49 -05:00
dependabot[bot] 9042bbae9a
chore(deps-dev): bump prettier-plugin-sh from 0.6.1 to 0.7.1 (#3680)
* chore(deps-dev): bump prettier-plugin-sh from 0.6.1 to 0.7.1

Bumps [prettier-plugin-sh](https://github.com/rx-ts/prettier) from 0.6.1 to 0.7.1.
- [Release notes](https://github.com/rx-ts/prettier/releases)
- [Changelog](https://github.com/rx-ts/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rx-ts/prettier/compare/prettier-plugin-sh@0.6.1...prettier-plugin-sh@0.7.1)

---
updated-dependencies:
- dependency-name: prettier-plugin-sh
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: reformat shell scripts

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Akash Satheesan <akash.satheesan@protonmail.com>
2021-06-28 22:06:55 +05:30
Joe Previte 8b38314913
feat: add 'set up homebrew' step publish.yaml 2021-06-03 10:18:48 -07:00
Joe Previte 808daa44e1
fix: update git push to cdrci repo in brew-bump 2021-06-03 10:18:48 -07:00
Akash Satheesan 1ccf69f731
chore: cross-compile docker images with buildx (#3503) 2021-05-28 16:51:41 +00:00
Joe Previte ed0ddeaf3e
fix: make sure homebrew-core is up to date 2021-05-21 15:00:45 -07:00
Akash Satheesan 3a49299f84
dev(ci): complete refactor
Nearly completely replace the original GitHub actions workflow.
Changes:

- Move from `.sh` files in `ci/steps` to steps in the workflow.
- Move from using docker images for environment to manual setup.
- Upgrade nfpm to v2.3.1

BREAKING CHANGE: official arm64 builds no longer support CentOS 7.
If you need to use CentOS 7 on arm64, build `code-server` locally.
For docs, see the yarn/npm section in `docs/install.md`.
2021-04-08 23:42:01 +05:30
Joe Previte b1ea47c506
chore: remove --home from test-e2e script 2021-04-06 15:46:57 -07:00
Joe Previte 6f98e08bda
feat(ci): add audit job for security 2021-04-06 11:06:04 -07:00
Joe Previte 5b9f6bbe45
feat: add brew job to publish.yaml 2021-04-02 15:10:31 -07:00
Joe Previte d05389880a
chore: update formatting w/new prettier sh plugin 2021-03-15 15:36:31 -07:00
Joe Previte 9ee2556dd1
chore: update gitignore with test dirs 2021-03-12 12:00:57 -07:00
Joe Previte 529d69e8e8
refactor: add scripts to separate unit, e2e tests 2021-03-12 12:00:56 -07:00
Anmol Sethi 2bafbdc32f
ci: Minor fixes for FreeBSD support 2020-12-18 11:52:08 -05:00
Joe Previte 5830532726
refactor: remove submodule code from steps scripts 2020-12-16 11:48:02 -07:00
Joe Previte fcc16e5397
refactor: move vscode.sh to postinstall 2020-12-16 11:47:20 -07:00
Anmol Sethi 4cb8a32f4c
ci: Fetch vscode node_modules in lint.sh for eslint 2020-11-29 21:05:11 -05:00
Asher 9f963c7e66
Update Node to 12.18.4 (#2175) 2020-10-08 16:15:05 -05:00
Anmol Sethi 4b7c2ea322
Use static version of node for all builds, not just darwin
This way, building a standalone release locally and putting it in the
release contianer for testing is less likely to break.
2020-08-27 14:20:56 -04:00
Anmol Sethi a730bec6f4
Ship with node 12 (#1998)
See #1894
See #1892
See #1810
2020-08-26 11:54:50 -04:00
Anmol Sethi 609c7ef4ec
Fix bad $PATH when building MacOS
The previous release mistakenly distributed the wrong version
of node...

Very sad.

See https://github.com/cdr/code-server/issues/1710#issuecomment-646472716
2020-06-22 00:57:40 -04:00
Anmol Sethi bdb670e852
Rename container and release-container to images and release-image 2020-06-03 15:45:16 -04:00
Anmol Sethi 11d7932968
Stop bundling libraries in release
- Instead we now use CentOS 7 for the static build to guarantee
  that we only depend on libc v2.17

- For macOS we now pull in a static node binary and bundle that instead.
2020-06-03 15:45:16 -04:00