diff --git a/.github/workflows/stable-linux.yml b/.github/workflows/stable-linux.yml index 114ffe4..6658084 100644 --- a/.github/workflows/stable-linux.yml +++ b/.github/workflows/stable-linux.yml @@ -84,7 +84,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v3 with: - node-version: 16.17 + node-version: '16.20' - name: Install Yarn run: npm install -g yarn @@ -129,9 +129,9 @@ jobs: - vscode_arch: arm64 npm_arch: arm64 image: vscodium/vscodium-linux-build-agent:buster-arm64 - # - vscode_arch: armhf - # npm_arch: armv7l - # image: vscodium/vscodium-linux-build-agent:buster-armhf + - vscode_arch: armhf + npm_arch: arm + image: vscodium/vscodium-linux-build-agent:buster-armhf container: image: ${{ matrix.image }} env: @@ -154,7 +154,7 @@ jobs: - name: Setup Node.js environment uses: actions/setup-node@v3 with: - node-version: 16.17 + node-version: '16.20' - name: Install Yarn run: npm install -g yarn diff --git a/.github/workflows/stable-windows.yml b/.github/workflows/stable-windows.yml index 871d156..4015e9f 100644 --- a/.github/workflows/stable-windows.yml +++ b/.github/workflows/stable-windows.yml @@ -41,7 +41,7 @@ jobs: matrix: vscode_arch: - x64 - # - ia32 + - ia32 - arm64 outputs: RELEASE_VERSION: ${{ env.RELEASE_VERSION }} diff --git a/.nvmrc b/.nvmrc index 5cb297e..59ea99e 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.17 +16.20 diff --git a/prepare_vscode.sh b/prepare_vscode.sh index fe347e8..14fea95 100755 --- a/prepare_vscode.sh +++ b/prepare_vscode.sh @@ -54,21 +54,33 @@ done set -x +export ELECTRON_SKIP_BINARY_DOWNLOAD=1 +export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 + if [[ "${OS_NAME}" == "osx" ]]; then - CHILD_CONCURRENCY=1 yarn --frozen-lockfile + CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000 + yarn postinstall -elif [[ "${npm_config_arch}" == "armv7l" || "${npm_config_arch}" == "ia32" ]]; then - # node-gyp@9.0.0 shipped with node@16.15.0 starts using config.gypi - # from the custom headers path if dist-url option was set, instead of - # using the config value from the process. Electron builds with pointer compression - # enabled for x64 and arm64, but incorrectly ships a single copy of config.gypi - # with v8_enable_pointer_compression option always set for all target architectures. - # We use the force_process_config option to use the config.gypi from the - # nodejs process executing npm for 32-bit architectures. - export npm_config_force_process_config="true" - CHILD_CONCURRENCY=1 yarn --frozen-lockfile else - CHILD_CONCURRENCY=1 yarn --frozen-lockfile + if [[ "${npm_config_arch}" == "arm" ]]; then + export npm_config_arm_version=7 + elif [[ "${npm_config_arch}" == "ia32" ]]; then + # TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825 + # gets merged. + rm -rf .build/node-gyp + mkdir -p .build/node-gyp + cd .build/node-gyp + + git clone https://github.com/rzhao271/node-gyp.git . + git checkout 102b347da0c92c29f9c67df22e864e70249cf086 + npm install + + export npm_config_node_gyp=`pwd` + + cd ../.. + fi + + CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000 fi setpath() {