mirror of
https://github.com/danog/code-server.git
synced 2024-12-15 18:57:11 +01:00
40 lines
1.2 KiB
Bash
Executable File
40 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# ci.bash -- Build code-server in the CI.
|
|
|
|
set -euo pipefail
|
|
|
|
function main() {
|
|
cd "$(dirname "${0}")/.."
|
|
|
|
# Get the version information. If a specific version wasn't set, generate it
|
|
# from the tag and VS Code version.
|
|
local vscode_version=${VSCODE_VERSION:-1.41.1}
|
|
local code_server_version=${VERSION:-2.${TRAVIS_TAG:-${DRONE_TAG:-daily}}-vsc$vscode_version}
|
|
|
|
# Remove everything that isn't the current VS Code source for caching
|
|
# (otherwise the cache will contain old versions).
|
|
if [[ -d "source/vscode-$vscode_version-source" ]] ; then
|
|
mv "source/vscode-$vscode_version-source" "vscode-$vscode_version-source"
|
|
fi
|
|
rm -rf source/vscode-*-source
|
|
if [[ -d "vscode-$vscode_version-source" ]] ; then
|
|
mv "vscode-$vscode_version-source" "source/vscode-$vscode_version-source"
|
|
fi
|
|
|
|
# Only minify and package on tags since that's when releases are pushed.
|
|
if [[ -n ${DRONE_TAG:-} || -n ${TRAVIS_TAG:-} ]] ; then
|
|
export MINIFY="true"
|
|
export PACKAGE="true"
|
|
fi
|
|
|
|
function run-yarn() {
|
|
yarn "$1" "$vscode_version" "$code_server_version"
|
|
}
|
|
|
|
run-yarn build
|
|
[[ -n ${PACKAGE:-} || -n ${BINARY:-} ]] && run-yarn binary
|
|
[[ -n ${PACKAGE:-} ]] && run-yarn package
|
|
}
|
|
|
|
main "$@"
|