6275520348
* Fix building from source on arm Not building from source causes argon2 to pull the wrong arch, so we have to build from source. But building from source is causing the new Kerberos module to fail on arm64 and keytar to fail on both. The latter has been very difficult to debug because the GitHub image provides a different result to containers based on Ubuntu 20.04. Because of this, use a container instead. Use debian:buster as the container because it is easier to set up the architecture sources (no need to modify the sources) and because it seems to come with glibc 2.28 rather than 2.31. Also use the exact version of Node (18.15.0) for reproducibility. * Set owner and group during tar to zero Otherwise you get IDs that can cause (benign) errors while extracting, which might be confusing. At the very least, I did not see these errors from previous tars (although they seem to use 1001). There is no guarantee what IDs might exist so 0 seems the most reasonable.
31 lines
786 B
Bash
Executable File
31 lines
786 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
main() {
|
|
cd "$(dirname "${0}")/../.."
|
|
|
|
source ./ci/lib.sh
|
|
|
|
rsync "$RELEASE_PATH/" "$RELEASE_PATH-standalone"
|
|
RELEASE_PATH+=-standalone
|
|
|
|
# We cannot get the path to Node from $PATH (for example via `which node`)
|
|
# because Yarn shims a script called `node` and we would end up just copying
|
|
# that script. Instead we run Node and have it print its actual path.
|
|
local node_path
|
|
node_path="$(node <<< 'console.info(process.execPath)')"
|
|
|
|
mkdir -p "$RELEASE_PATH/bin"
|
|
mkdir -p "$RELEASE_PATH/lib"
|
|
rsync ./ci/build/code-server.sh "$RELEASE_PATH/bin/code-server"
|
|
rsync "$node_path" "$RELEASE_PATH/lib/node"
|
|
|
|
chmod 755 "$RELEASE_PATH/lib/node"
|
|
|
|
pushd "$RELEASE_PATH"
|
|
npm install --unsafe-perm --omit=dev
|
|
popd
|
|
}
|
|
|
|
main "$@"
|