Fix CI errors for macos and windows builds
Open
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 44.7k
- Forks
- 3.6k
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Description
CI currently always fails for macos and windows builds.
These are likely false positives, but they should be addressed either way.
macOS CI error:
Run python3 -m pip install packaging setuptools
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
xyz, where xyz is the package you are trying to
install.
If you wish to install a Python library that isn't in Homebrew,
use a virtual environment:
python3 -m venv path/to/venv
source path/to/venv/bin/activate
python3 -m pip install xyz
If you wish to install a Python application that isn't in Homebrew,
it may be easiest to use 'pipx install xyz', which will manage a
virtual environment for you. You can install pipx with
brew install pipx
You may restore the old behavior of pip by passing
the '--break-system-packages' flag to pip, or by adding
'break-system-packages = true' to your pip.conf file. The latter
will permanently disable this error.
If you disable this error, we STRONGLY recommend that you additionally
pass the '--user' flag to pip, or set 'user = true' in your pip.conf
file. Failure to do this can result in a broken Homebrew installation.
Read more about this behavior here: <https://peps.python.org/pep-0668/>
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Notice: A new release of pip is available: 24.0 -> 24.1.2
Notice: To update, run: python3.12 -m pip install --upgrade pip
Error: Process completed with exit code 1.
Windows CI error:
Run yarn install
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "electron-builder > app-builder-lib@24.13.3" has unmet peer dependency "electron-builder-squirrel-windows@24.13.3".
[4/4] Building fresh packages...
$ yarn run v8-snapshot && webpack --config-name hyper-app && electron-builder install-app-deps && yarn run rebuild-node-pty && cpy --cwd=target node_modules "../../app/" && husky install && yarn run generate-schema
yarn run v1.22.22
$ cross-env npm_config_arch=x64 yarn run v8-snapshot:arch && cross-env npm_config_arch=arm64 yarn run v8-snapshot:arch
$ yarn run mk-snapshot && yarn run cp-snapshot
$ cross-env ELECTRON_CUSTOM_VERSION=$npm_package_devDependencies_electron node node_modules/electron-mksnapshot/download-mksnapshot.js && node bin/mk-snapshot.js
Creating a linked script..
Generating startup blob in "D:\a\hyper\hyper/cache/x64"
<ref *1> Error: spawnSync D:\a\hyper\hyper\node_modules\.bin\mksnapshot.cmd EINVAL
at Object.spawnSync (node:internal/child_process:1117:20)
at spawnSync (node:child_process:876:24)
at Object.execFileSync (node:child_process:919:15)
at main (D:\a\hyper\hyper\bin\mk-snapshot.js:45:16) {
errno: -4071,
code: 'EINVAL',
syscall: 'spawnSync D:\\a\\hyper\\hyper\\node_modules\\.bin\\mksnapshot.cmd',
path: 'D:\\a\\hyper\\hyper\\node_modules\\.bin\\mksnapshot.cmd',
spawnargs: [
'D:\\a\\hyper\\hyper/cache/snapshot-libs.js',
'--output_dir',
'D:\\a\\hyper\\hyper/cache/x64'
],
error: [Circular *1],
status: null,
signal: null,
output: null,
pid: 0,
stdout: null,
stderr: null
}
$ node bin/cp-snapshot.js
Copying v8 snapshots from D:\a\hyper\hyper\cache\x64\snapshot_blob.bin to D:\a\hyper\hyper\node_modules\electron\dist
Error: ENOENT: no such file or directory, copyfile 'D:\a\hyper\hyper\cache\x64\snapshot_blob.bin' -> 'D:\a\hyper\hyper\node_modules\electron\dist\snapshot_blob.bin'
at Object.copyFileSync (node:fs:2982:3)
at copySnapshot (D:\a\hyper\hyper\bin\cp-snapshot.js:12:6)
at Object.<anonymous> (D:\a\hyper\hyper\bin\cp-snapshot.js:51:5)
at Module._compile (node:internal/modules/cjs/loader:1364:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
at Module.load (node:internal/modules/cjs/loader:1203:32)
at Function.Module._load (node:internal/modules/cjs/loader:1019:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:128:12)
at node:internal/main/run_main_module:28:49
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Process completed with exit code 1.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the macOS pip install step and the Windows yarn install sequence, then inspect bin/mk-snapshot.js and bin/cp-snapshot.js, which are named in the Windows trace. Confirm the cause of each platform failure and verify that both macOS and Windows CI builds complete successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, node.js, python, typescript
- Domain
- build-system, ci-cd, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100