Compare commits

..

3 Commits

Author SHA1 Message Date
Asher
4af6408e39 Preserve permissions with rsync
This is mostly just because if the opts are empty, it seems to error in
macOS for some reason...(rsync_opts[@]: unbound variable).
2026-04-06 12:03:45 -08:00
Asher
1fa5d5084b Omit argon2 prebuilds
Since we build from source, these are dead weight.

It also ensures we did in fact build from source.
2026-04-06 11:56:28 -08:00
Asher
d74b002969 Build native modules from source
Another thing I managed to miss when refactoring CI.
2026-04-06 11:56:23 -08:00
4 changed files with 22 additions and 26 deletions

View File

@@ -45,7 +45,11 @@ jobs:
# Cross-compile target. # Cross-compile target.
VSCODE_ARCH: ${{ matrix.vscode_arch }} VSCODE_ARCH: ${{ matrix.vscode_arch }}
npm_config_arch: ${{ matrix.npm_arch }} npm_config_arch: ${{ matrix.npm_arch }}
# Ensure native modules are built from source to avoid prebuilds and use
# the correct version of glibc.
npm_config_build_from_source: true
# Gulp target name. # Gulp target name.
# TODO: Pull from VSCODE_ARCH instead.
VSCODE_TARGET: ${{ format('linux-{0}', matrix.vscode_arch) }} VSCODE_TARGET: ${{ format('linux-{0}', matrix.vscode_arch) }}
steps: steps:
@@ -125,6 +129,8 @@ jobs:
VSCODE_TARGET: ${{ matrix.vscode_target }} VSCODE_TARGET: ${{ matrix.vscode_target }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ inputs.version || github.ref_name }} TAG: ${{ inputs.version || github.ref_name }}
# Ensure native modules are built from source to avoid prebuilds.
npm_config_build_from_source: true
steps: steps:
# The version of node-gyp we use depends on distutils but it was removed # The version of node-gyp we use depends on distutils but it was removed

View File

@@ -79,7 +79,15 @@ EOF
mv npm-shrinkwrap.json "$RELEASE_PATH" mv npm-shrinkwrap.json "$RELEASE_PATH"
if [ "$KEEP_MODULES" = 1 ]; then if [ "$KEEP_MODULES" = 1 ]; then
rsync node_modules/ "$RELEASE_PATH/node_modules" local rsync_opts=(-a)
if [[ ${DEBUG-} = 1 ]]; then
rsync_opts+=(-vh)
fi
# If we build from source, exclude the prebuilds.
if [[ ${npm_config_build_from_source-} = true ]]; then
rsync_opts+=(--exclude /argon2/prebuilds)
fi
rsync "${rsync_opts[@]}" node_modules/ "$RELEASE_PATH/node_modules"
# Remove dev dependencies. # Remove dev dependencies.
pushd "$RELEASE_PATH" pushd "$RELEASE_PATH"
npm prune --production npm prune --production
@@ -92,7 +100,7 @@ EOF
bundle_vscode() { bundle_vscode() {
mkdir -p "$VSCODE_OUT_PATH" mkdir -p "$VSCODE_OUT_PATH"
local rsync_opts=() local rsync_opts=(-a)
if [[ ${DEBUG-} = 1 ]]; then if [[ ${DEBUG-} = 1 ]]; then
rsync_opts+=(-vh) rsync_opts+=(-vh)
fi fi

28
package-lock.json generated
View File

@@ -14,7 +14,7 @@
"argon2": "^0.44.0", "argon2": "^0.44.0",
"compression": "^1.7.4", "compression": "^1.7.4",
"cookie-parser": "^1.4.6", "cookie-parser": "^1.4.6",
"env-paths": "^4.0.0", "env-paths": "^2.2.1",
"express": "^5.0.1", "express": "^5.0.1",
"http-proxy": "^1.18.1", "http-proxy": "^1.18.1",
"httpolyglot": "^0.1.2", "httpolyglot": "^0.1.2",
@@ -2316,18 +2316,12 @@
} }
}, },
"node_modules/env-paths": { "node_modules/env-paths": {
"version": "4.0.0", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-4.0.0.tgz", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-pxP8eL2SwwaTRi/KHYwLYXinDs7gL3jxFcBYmEdYfZmZXbaVDvdppd0XBU8qVz03rDfKZMXg1omHCbsJjZrMsw==", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"license": "MIT", "license": "MIT",
"dependencies": {
"is-safe-filename": "^0.1.0"
},
"engines": { "engines": {
"node": ">=20" "node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/es-abstract": { "node_modules/es-abstract": {
@@ -3996,18 +3990,6 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/is-safe-filename": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-safe-filename/-/is-safe-filename-0.1.1.tgz",
"integrity": "sha512-4SrR7AdnY11LHfDKTZY1u6Ga3RuxZdl3YKWWShO5iyuG5h8QS4GD2tOb04peBJ5I7pXbR+CGBNEhTcwK+FzN3g==",
"license": "MIT",
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-set": { "node_modules/is-set": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",

View File

@@ -71,7 +71,7 @@
"argon2": "^0.44.0", "argon2": "^0.44.0",
"compression": "^1.7.4", "compression": "^1.7.4",
"cookie-parser": "^1.4.6", "cookie-parser": "^1.4.6",
"env-paths": "^4.0.0", "env-paths": "^2.2.1",
"express": "^5.0.1", "express": "^5.0.1",
"http-proxy": "^1.18.1", "http-proxy": "^1.18.1",
"httpolyglot": "^0.1.2", "httpolyglot": "^0.1.2",