Rename binary release to standalone
This commit is contained in:
parent
06c26a22cd
commit
f71d8875d0
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,7 +4,7 @@ dist*
|
|||||||
out*
|
out*
|
||||||
release/
|
release/
|
||||||
release-npm-package/
|
release-npm-package/
|
||||||
release-binary/
|
release-standalone/
|
||||||
release-packages/
|
release-packages/
|
||||||
release-gcp/
|
release-gcp/
|
||||||
release-images/
|
release-images/
|
||||||
|
18
ci/README.md
18
ci/README.md
@ -75,19 +75,19 @@ You can disable minification by setting `MINIFY=`.
|
|||||||
- Builds vscode into `./lib/vscode/out-vscode`.
|
- Builds vscode into `./lib/vscode/out-vscode`.
|
||||||
- [./ci/build/build-release.sh](./build/build-release.sh) (`yarn release`)
|
- [./ci/build/build-release.sh](./build/build-release.sh) (`yarn release`)
|
||||||
- Bundles the output of the above two scripts into a single node module at `./release`.
|
- Bundles the output of the above two scripts into a single node module at `./release`.
|
||||||
- [./ci/build/build-binary-release.sh](./build/build-binary-release.sh) (`yarn release:binary`)
|
- [./ci/build/build-standalone-release.sh](./build/build-standalone-release.sh) (`yarn release:standalone`)
|
||||||
- Requires a node module already built into `./release` with the above script.
|
- Requires a node module already built into `./release` with the above script.
|
||||||
- Will build a binary release with node and node_modules bundled into `./release-binary`.
|
- Will build a standalone release with node and node_modules bundled into `./release-standalone`.
|
||||||
- [./ci/build/clean.sh](./build/clean.sh) (`yarn clean`)
|
- [./ci/build/clean.sh](./build/clean.sh) (`yarn clean`)
|
||||||
- Removes all build artifacts.
|
- Removes all build artifacts.
|
||||||
- Will also `git reset --hard lib/vscode`.
|
- Will also `git reset --hard lib/vscode`.
|
||||||
- Useful to do a clean build.
|
- Useful to do a clean build.
|
||||||
- [./ci/build/code-server.sh](./build/code-server.sh)
|
- [./ci/build/code-server.sh](./build/code-server.sh)
|
||||||
- Copied into binary releases to run code-server with the bundled node binary.
|
- Copied into standalone releases to run code-server with the bundled node binary.
|
||||||
- [./ci/build/test-binary-release.sh](./build/test-binary-release.sh) (`yarn test:binary-release`)
|
- [./ci/build/test-standalone-release.sh](./build/test-standalone-release.sh) (`yarn test:standalone-release`)
|
||||||
- Ensures code-server in the `./release-binary` directory works by installing an extension.
|
- Ensures code-server in the `./release-standalone` directory works by installing an extension.
|
||||||
- [./ci/build/build-packages.sh](./build/build-packages.sh) (`yarn package`)
|
- [./ci/build/build-packages.sh](./build/build-packages.sh) (`yarn package`)
|
||||||
- Packages `./release-binary` into a `.tar.gz` archive in `./release-packages`.
|
- Packages `./release-standalone` into a `.tar.gz` archive in `./release-packages`.
|
||||||
- If on linux, [nfpm](https://github.com/goreleaser/nfpm) is used to generate `.deb` and `.rpm`.
|
- If on linux, [nfpm](https://github.com/goreleaser/nfpm) is used to generate `.deb` and `.rpm`.
|
||||||
- [./ci/build/nfpm.yaml](./build/nfpm.yaml)
|
- [./ci/build/nfpm.yaml](./build/nfpm.yaml)
|
||||||
- Used to configure [nfpm](https://github.com/goreleaser/nfpm) to generate `.deb` and `.rpm`.
|
- Used to configure [nfpm](https://github.com/goreleaser/nfpm) to generate `.deb` and `.rpm`.
|
||||||
@ -131,9 +131,9 @@ Helps avoid clobbering the CI configuration.
|
|||||||
- [./steps/release.sh](./steps/release.sh)
|
- [./steps/release.sh](./steps/release.sh)
|
||||||
- Runs the release process.
|
- Runs the release process.
|
||||||
- Generates the npm package at `./release`.
|
- Generates the npm package at `./release`.
|
||||||
- [./steps/release-binary.sh](./steps/release-binary.sh)
|
- [./steps/release-packages.sh](./steps/release-packages.sh)
|
||||||
- Takes the output of the previous script and generates a binary release and
|
- Takes the output of the previous script and generates a standalone release and
|
||||||
release packages into `release-packages`.
|
release packages into `./release-packages`.
|
||||||
- [./steps/publish-npm.sh](./steps/publish-npm.sh)
|
- [./steps/publish-npm.sh](./steps/publish-npm.sh)
|
||||||
- Grabs the `npm-package` release artifact for the current commit and publishes it on npm.
|
- Grabs the `npm-package` release artifact for the current commit and publishes it on npm.
|
||||||
- [./steps/build-docker-image.sh](./steps/build-docker-image.sh)
|
- [./steps/build-docker-image.sh](./steps/build-docker-image.sh)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# Packages code-server for the current OS and architecture into ./release-packages.
|
# Packages code-server for the current OS and architecture into ./release-packages.
|
||||||
# This script assumes that a binary release is built already into ./release-binary
|
# This script assumes that a standalone release is built already into ./release-standalone
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
cd "$(dirname "${0}")/../.."
|
cd "$(dirname "${0}")/../.."
|
||||||
@ -29,9 +29,9 @@ main() {
|
|||||||
release_archive() {
|
release_archive() {
|
||||||
local release_name="code-server-$VERSION-$OS-$ARCH"
|
local release_name="code-server-$VERSION-$OS-$ARCH"
|
||||||
if [[ $OS == "linux" ]]; then
|
if [[ $OS == "linux" ]]; then
|
||||||
tar -czf "release-packages/$release_name.tar.gz" --transform "s/^\.\/release-binary/$release_name/" ./release-binary
|
tar -czf "release-packages/$release_name.tar.gz" --transform "s/^\.\/release-standalone/$release_name/" ./release-standalone
|
||||||
else
|
else
|
||||||
tar -czf "release-packages/$release_name.tar.gz" -s "/^release-binary/$release_name/" release-binary
|
tar -czf "release-packages/$release_name.tar.gz" -s "/^release-standalone/$release_name/" ./release-standalone
|
||||||
fi
|
fi
|
||||||
echo "done (release-packages/$release_name)"
|
echo "done (release-packages/$release_name)"
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ main() {
|
|||||||
cd "$(dirname "${0}")/../.."
|
cd "$(dirname "${0}")/../.."
|
||||||
source ./ci/lib.sh
|
source ./ci/lib.sh
|
||||||
|
|
||||||
rsync "$RELEASE_PATH/" "$RELEASE_PATH-binary"
|
rsync "$RELEASE_PATH/" "$RELEASE_PATH-standalone"
|
||||||
RELEASE_PATH+=-binary
|
RELEASE_PATH+=-standalone
|
||||||
|
|
||||||
# We cannot find the path to node from $PATH because yarn shims a script to ensure
|
# We cannot find the path to node from $PATH because yarn shims a script to ensure
|
||||||
# we use the same version it's using so we instead run a script with yarn that
|
# we use the same version it's using so we instead run a script with yarn that
|
@ -8,7 +8,7 @@ main() {
|
|||||||
rm -Rf \
|
rm -Rf \
|
||||||
out \
|
out \
|
||||||
release \
|
release \
|
||||||
release-binary \
|
release-standalone \
|
||||||
release-packages \
|
release-packages \
|
||||||
release-gcp \
|
release-gcp \
|
||||||
release-images/ \
|
release-images/ \
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# This script is intended to be bundled into the binary releases.
|
# This script is intended to be bundled into the standalone releases.
|
||||||
# Runs code-server with the bundled Node binary.
|
# Runs code-server with the bundled node binary.
|
||||||
|
|
||||||
# More complicated than readlink -f or realpath to support macOS.
|
# More complicated than readlink -f or realpath to support macOS.
|
||||||
# See https://github.com/cdr/code-server/issues/1537
|
# See https://github.com/cdr/code-server/issues/1537
|
||||||
|
@ -13,4 +13,4 @@ license: "MIT"
|
|||||||
files:
|
files:
|
||||||
./ci/build/code-server-nfpm.sh: /usr/bin/code-server
|
./ci/build/code-server-nfpm.sh: /usr/bin/code-server
|
||||||
./ci/build/code-server.service: /usr/lib/systemd/user/code-server.service
|
./ci/build/code-server.service: /usr/lib/systemd/user/code-server.service
|
||||||
./release-binary/**/*: "/usr/lib/code-server/"
|
./release-standalone/**/*: "/usr/lib/code-server/"
|
||||||
|
@ -10,18 +10,18 @@ main() {
|
|||||||
local EXTENSIONS_DIR
|
local EXTENSIONS_DIR
|
||||||
EXTENSIONS_DIR="$(mktemp -d)"
|
EXTENSIONS_DIR="$(mktemp -d)"
|
||||||
|
|
||||||
echo "Testing binary release"
|
echo "Testing standalone release."
|
||||||
|
|
||||||
./release-binary/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --install-extension ms-python.python
|
./release-standalone/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --install-extension ms-python.python
|
||||||
local installed_extensions
|
local installed_extensions
|
||||||
installed_extensions="$(./release-binary/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --list-extensions 2>&1)"
|
installed_extensions="$(./release-standalone/bin/code-server --extensions-dir "$EXTENSIONS_DIR" --list-extensions 2>&1)"
|
||||||
if [[ $installed_extensions != "ms-python.python" ]]; then
|
if [[ $installed_extensions != "ms-python.python" ]]; then
|
||||||
echo "Unexpected output from listing extensions:"
|
echo "Unexpected output from listing extensions:"
|
||||||
echo "$installed_extensions"
|
echo "$installed_extensions"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Binary release works correctly"
|
echo "Standalone release works correctly."
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
@ -7,8 +7,8 @@ main() {
|
|||||||
# https://github.com/actions/upload-artifact/issues/38
|
# https://github.com/actions/upload-artifact/issues/38
|
||||||
tar -xzf release-npm-package/package.tar.gz
|
tar -xzf release-npm-package/package.tar.gz
|
||||||
|
|
||||||
yarn release:binary
|
yarn release:standalone
|
||||||
yarn test:binary-release
|
yarn test:standalone-release
|
||||||
yarn package
|
yarn package
|
||||||
}
|
}
|
||||||
|
|
@ -51,14 +51,14 @@ yarn --production
|
|||||||
node .
|
node .
|
||||||
```
|
```
|
||||||
|
|
||||||
Now you can build binary packages with:
|
Now you can build the packages with:
|
||||||
|
|
||||||
```
|
```
|
||||||
yarn release:binary
|
yarn release:standalone
|
||||||
yarn test:binary-release
|
yarn test:standalone-release
|
||||||
yarn package
|
yarn package
|
||||||
# The binary release is in ./release-binary
|
# The standalone release is in ./release-standalone
|
||||||
# .deb, .rpm and the binary archive are in ./release-packages
|
# .deb, .rpm and the standalone archive are in ./release-packages
|
||||||
```
|
```
|
||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
- [Arch Linux](#arch-linux)
|
- [Arch Linux](#arch-linux)
|
||||||
- [yarn, npm](#yarn-npm)
|
- [yarn, npm](#yarn-npm)
|
||||||
- [macOS](#macos)
|
- [macOS](#macos)
|
||||||
- [Binary Releases](#binary-releases)
|
- [Standalone Releases](#standalone-releases)
|
||||||
- [Docker](#docker)
|
- [Docker](#docker)
|
||||||
|
|
||||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||||
@ -50,9 +50,9 @@ commands presented in the rest of this document.
|
|||||||
|
|
||||||
- `--dry-run` to echo the commands for the install process without running them.
|
- `--dry-run` to echo the commands for the install process without running them.
|
||||||
- `--method` to choose the installation method.
|
- `--method` to choose the installation method.
|
||||||
- `--method=detect` to detect the package manager but fallback to `--method=archive`.
|
- `--method=detect` to detect the package manager but fallback to `--method=standalone`.
|
||||||
- `--method=archive` to install a binary release archive into `~/.local`.
|
- `--method=standalone` to install a standalone release archive into `~/.local`.
|
||||||
- `--prefix=/usr/local` to install a binary release archive system wide.
|
- `--prefix=/usr/local` to install a standalone release archive system wide.
|
||||||
- `--version=X.X.X` to install version `X.X.X` instead of latest.
|
- `--version=X.X.X` to install version `X.X.X` instead of latest.
|
||||||
- `--help` to see full usage docs.
|
- `--help` to see full usage docs.
|
||||||
|
|
||||||
@ -61,17 +61,17 @@ commands presented in the rest of this document.
|
|||||||
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
|
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
|
||||||
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
|
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
|
||||||
- For Arch Linux it will install the AUR package.
|
- For Arch Linux it will install the AUR package.
|
||||||
- For any unrecognized Linux operating system it will install the latest binary release into `~/.local`.
|
- For any unrecognized Linux operating system it will install the latest standalone release into `~/.local`.
|
||||||
|
|
||||||
- Add `~/.local/bin` to your `$PATH` to run code-server.
|
- Add `~/.local/bin` to your `$PATH` to run code-server.
|
||||||
|
|
||||||
- For macOS it will install the Homebrew package.
|
- For macOS it will install the Homebrew package.
|
||||||
|
|
||||||
- If Homebrew is not installed it will install the latest binary release into `~/.local`.
|
- If Homebrew is not installed it will install the latest standalone release into `~/.local`.
|
||||||
- Add `~/.local/bin` to your `$PATH` to run code-server.
|
- Add `~/.local/bin` to your `$PATH` to run code-server.
|
||||||
|
|
||||||
- If ran on an architecture with no binary releases, it will install the npm package with `yarn` or `npm`.
|
- If ran on an architecture with no releases, it will install the npm package with `yarn` or `npm`.
|
||||||
- We only have binary releases for amd64 and arm64 presently.
|
- We only have releases for amd64 and arm64 presently.
|
||||||
|
|
||||||
## Debian, Ubuntu
|
## Debian, Ubuntu
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ brew services start code-server
|
|||||||
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
|
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Binary Releases
|
## Standalone Releases
|
||||||
|
|
||||||
We publish self contained `.tar.gz` archives for every release on [github](https://github.com/cdr/code-server/releases).
|
We publish self contained `.tar.gz` archives for every release on [github](https://github.com/cdr/code-server/releases).
|
||||||
They bundle the node binary and `node_modules`.
|
They bundle the node binary and `node_modules`.
|
||||||
@ -148,7 +148,7 @@ They bundle the node binary and `node_modules`.
|
|||||||
You can add the code-server `bin` directory to your `$PATH` to easily execute `code-server`
|
You can add the code-server `bin` directory to your `$PATH` to easily execute `code-server`
|
||||||
without the full path every time.
|
without the full path every time.
|
||||||
|
|
||||||
Here is an example script for installing and using a binary `code-server` release on Linux:
|
Here is an example script for installing and using a standalone `code-server` release on Linux:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p ~/.local/lib ~/.local/bin
|
mkdir -p ~/.local/lib ~/.local/bin
|
||||||
|
64
install.sh
64
install.sh
@ -26,14 +26,14 @@ Usage:
|
|||||||
Echo the commands for the install process without running them.
|
Echo the commands for the install process without running them.
|
||||||
--version X.X.X
|
--version X.X.X
|
||||||
Install a specific version instead of the latest.
|
Install a specific version instead of the latest.
|
||||||
--method [detect | archive]
|
--method [detect | standalone]
|
||||||
Choose the installation method. Defaults to detect.
|
Choose the installation method. Defaults to detect.
|
||||||
- detect detects the system package manager and tries to use it.
|
- detect detects the system package manager and tries to use it.
|
||||||
Full reference on the process is further below.
|
Full reference on the process is further below.
|
||||||
- archive installs a binary release archive into ~/.local
|
- standalone installs a standalone release archive into ~/.local
|
||||||
Add ~/.local/bin to your \$PATH to use it.
|
Add ~/.local/bin to your \$PATH to use it.
|
||||||
--prefix <dir>
|
--prefix <dir>
|
||||||
Sets the prefix used by binary release archives. Defaults to ~/.local
|
Sets the prefix used by standalone release archives. Defaults to ~/.local
|
||||||
The release is unarchived into ~/.local/lib/code-server-X.X.X
|
The release is unarchived into ~/.local/lib/code-server-X.X.X
|
||||||
and the binary symlinked into ~/.local/bin/code-server
|
and the binary symlinked into ~/.local/bin/code-server
|
||||||
To install system wide pass ---prefix=/usr/local
|
To install system wide pass ---prefix=/usr/local
|
||||||
@ -41,16 +41,16 @@ Usage:
|
|||||||
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
|
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
|
||||||
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
|
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
|
||||||
- For Arch Linux it will install the AUR package.
|
- For Arch Linux it will install the AUR package.
|
||||||
- For any unrecognized Linux operating system it will install the latest binary
|
- For any unrecognized Linux operating system it will install the latest standalone
|
||||||
release into ~/.local
|
release into ~/.local
|
||||||
|
|
||||||
- For macOS it will install the Homebrew package.
|
- For macOS it will install the Homebrew package.
|
||||||
- If Homebrew is not installed it will install the latest binary release
|
- If Homebrew is not installed it will install the latest standalone release
|
||||||
into ~/.local
|
into ~/.local
|
||||||
|
|
||||||
- If ran on an architecture with no binary releases, it will install the
|
- If ran on an architecture with no releases, it will install the
|
||||||
npm package with yarn or npm.
|
npm package with yarn or npm.
|
||||||
- We only have binary releases for amd64 and arm64 presently.
|
- We only have releases for amd64 and arm64 presently.
|
||||||
|
|
||||||
It will cache all downloaded assets into ~/.cache/code-server
|
It will cache all downloaded assets into ~/.cache/code-server
|
||||||
|
|
||||||
@ -65,12 +65,12 @@ echo_latest_version() {
|
|||||||
echo "$version"
|
echo "$version"
|
||||||
}
|
}
|
||||||
|
|
||||||
echo_archive_postinstall() {
|
echo_standalone_postinstall() {
|
||||||
echo
|
echo
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Binary release has been installed into $ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION
|
Standalone release has been installed into $STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION
|
||||||
Please extend your path to use code-server:
|
Please extend your path to use code-server:
|
||||||
PATH="$ARCHIVE_INSTALL_PREFIX/bin:\$PATH"
|
PATH="$STANDALONE_INSTALL_PREFIX/bin:\$PATH"
|
||||||
Then you can run:
|
Then you can run:
|
||||||
code-server
|
code-server
|
||||||
EOF
|
EOF
|
||||||
@ -94,7 +94,7 @@ main() {
|
|||||||
unset \
|
unset \
|
||||||
DRY_RUN \
|
DRY_RUN \
|
||||||
METHOD \
|
METHOD \
|
||||||
ARCHIVE_INSTALL_PREFIX \
|
STANDALONE_INSTALL_PREFIX \
|
||||||
VERSION \
|
VERSION \
|
||||||
OPTIONAL
|
OPTIONAL
|
||||||
|
|
||||||
@ -111,11 +111,11 @@ main() {
|
|||||||
METHOD="$(parse_arg "$@")"
|
METHOD="$(parse_arg "$@")"
|
||||||
;;
|
;;
|
||||||
--prefix)
|
--prefix)
|
||||||
ARCHIVE_INSTALL_PREFIX="$(parse_arg "$@")"
|
STANDALONE_INSTALL_PREFIX="$(parse_arg "$@")"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--prefix=*)
|
--prefix=*)
|
||||||
ARCHIVE_INSTALL_PREFIX="$(parse_arg "$@")"
|
STANDALONE_INSTALL_PREFIX="$(parse_arg "$@")"
|
||||||
;;
|
;;
|
||||||
--version)
|
--version)
|
||||||
VERSION="$(parse_arg "$@")"
|
VERSION="$(parse_arg "$@")"
|
||||||
@ -140,12 +140,12 @@ main() {
|
|||||||
|
|
||||||
VERSION="${VERSION-$(echo_latest_version)}"
|
VERSION="${VERSION-$(echo_latest_version)}"
|
||||||
METHOD="${METHOD-detect}"
|
METHOD="${METHOD-detect}"
|
||||||
if [ "$METHOD" != detect ] && [ "$METHOD" != archive ]; then
|
if [ "$METHOD" != detect ] && [ "$METHOD" != standalone ]; then
|
||||||
echoerr "Unknown install method \"$METHOD\""
|
echoerr "Unknown install method \"$METHOD\""
|
||||||
echoerr "Run with --help to see usage."
|
echoerr "Run with --help to see usage."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ARCHIVE_INSTALL_PREFIX="${ARCHIVE_INSTALL_PREFIX-$HOME/.local}"
|
STANDALONE_INSTALL_PREFIX="${STANDALONE_INSTALL_PREFIX-$HOME/.local}"
|
||||||
|
|
||||||
OS="$(os)"
|
OS="$(os)"
|
||||||
if [ ! "$OS" ]; then
|
if [ ! "$OS" ]; then
|
||||||
@ -157,9 +157,9 @@ main() {
|
|||||||
|
|
||||||
ARCH="$(arch)"
|
ARCH="$(arch)"
|
||||||
if [ ! "$ARCH" ]; then
|
if [ ! "$ARCH" ]; then
|
||||||
if [ "$METHOD" = archive ]; then
|
if [ "$METHOD" = standalone ]; then
|
||||||
echoerr "No binary releases available for the architecture $(uname -m)."
|
echoerr "No releases available for the architecture $(uname -m)."
|
||||||
echoerr 'Please rerun without the "--method archive" flag to install from npm.'
|
echoerr 'Please rerun without the "--method standalone" flag to install from npm.'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "No precompiled releases for $(uname -m)."
|
echo "No precompiled releases for $(uname -m)."
|
||||||
@ -170,8 +170,8 @@ main() {
|
|||||||
CACHE_DIR="$(echo_cache_dir)"
|
CACHE_DIR="$(echo_cache_dir)"
|
||||||
mkdir -p "$CACHE_DIR"
|
mkdir -p "$CACHE_DIR"
|
||||||
|
|
||||||
if [ "$METHOD" = archive ]; then
|
if [ "$METHOD" = standalone ]; then
|
||||||
install_archive
|
install_standalone
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ main() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unsupported package manager."
|
echo "Unsupported package manager."
|
||||||
install_archive
|
install_standalone
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -256,7 +256,7 @@ install_macos() {
|
|||||||
|
|
||||||
echo "Homebrew not installed."
|
echo "Homebrew not installed."
|
||||||
|
|
||||||
install_archive
|
install_standalone
|
||||||
}
|
}
|
||||||
|
|
||||||
install_deb() {
|
install_deb() {
|
||||||
@ -300,31 +300,31 @@ install_aur() {
|
|||||||
echo_systemd_postinstall
|
echo_systemd_postinstall
|
||||||
}
|
}
|
||||||
|
|
||||||
install_archive() {
|
install_standalone() {
|
||||||
echo "Installing binary release archive v$VERSION"
|
echo "Installing standalone release archive v$VERSION"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
fetch "https://github.com/cdr/code-server/releases/download/v$VERSION/code-server-$VERSION-$OS-$ARCH.tar.gz" \
|
fetch "https://github.com/cdr/code-server/releases/download/v$VERSION/code-server-$VERSION-$OS-$ARCH.tar.gz" \
|
||||||
"$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
|
"$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
|
||||||
|
|
||||||
sh_c="sh_c"
|
sh_c="sh_c"
|
||||||
if [ ! -w "$ARCHIVE_INSTALL_PREFIX" ]; then
|
if [ ! -w "$STANDALONE_INSTALL_PREFIX" ]; then
|
||||||
sh_c="sudo_sh_c"
|
sh_c="sudo_sh_c"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "$ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION" ]; then
|
if [ -e "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION" ]; then
|
||||||
echo
|
echo
|
||||||
echo "code-server-$VERSION is already installed at $ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION"
|
echo "code-server-$VERSION is already installed at $STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION"
|
||||||
echo "Remove it to reinstall."
|
echo "Remove it to reinstall."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
"$sh_c" mkdir -p "$ARCHIVE_INSTALL_PREFIX/lib" "$ARCHIVE_INSTALL_PREFIX/bin"
|
"$sh_c" mkdir -p "$STANDALONE_INSTALL_PREFIX/lib" "$STANDALONE_INSTALL_PREFIX/bin"
|
||||||
"$sh_c" tar -C "$ARCHIVE_INSTALL_PREFIX/lib" -xzf "$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
|
"$sh_c" tar -C "$STANDALONE_INSTALL_PREFIX/lib" -xzf "$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
|
||||||
"$sh_c" mv -f "$ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION-$OS-$ARCH" "$ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION"
|
"$sh_c" mv -f "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION-$OS-$ARCH" "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION"
|
||||||
"$sh_c" ln -fs "$ARCHIVE_INSTALL_PREFIX/lib/code-server-$VERSION/bin/code-server" "$ARCHIVE_INSTALL_PREFIX/bin/code-server"
|
"$sh_c" ln -fs "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION/bin/code-server" "$STANDALONE_INSTALL_PREFIX/bin/code-server"
|
||||||
|
|
||||||
echo_archive_postinstall
|
echo_standalone_postinstall
|
||||||
}
|
}
|
||||||
|
|
||||||
install_npm() {
|
install_npm() {
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
"build": "./ci/build/build-code-server.sh",
|
"build": "./ci/build/build-code-server.sh",
|
||||||
"build:vscode": "./ci/build/build-vscode.sh",
|
"build:vscode": "./ci/build/build-vscode.sh",
|
||||||
"release": "./ci/build/build-release.sh",
|
"release": "./ci/build/build-release.sh",
|
||||||
"release:binary": "./ci/build/build-binary-release.sh",
|
"release:standalone": "./ci/build/build-standalone-release.sh",
|
||||||
"release:github-draft": "./ci/build/release-github-draft.sh",
|
"release:github-draft": "./ci/build/release-github-draft.sh",
|
||||||
"release:github-assets": "./ci/build/release-github-assets.sh",
|
"release:github-assets": "./ci/build/release-github-assets.sh",
|
||||||
"test:binary-release": "./ci/build/test-binary-release.sh",
|
"test:standalone-release": "./ci/build/test-standalone-release.sh",
|
||||||
"package": "./ci/build/build-packages.sh",
|
"package": "./ci/build/build-packages.sh",
|
||||||
"_____": "",
|
"_____": "",
|
||||||
"fmt": "./ci/dev/fmt.sh",
|
"fmt": "./ci/dev/fmt.sh",
|
||||||
|
Reference in New Issue
Block a user