Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI and dev dependencies #103

Merged
merged 5 commits into from
Oct 20, 2024
Merged

Update CI and dev dependencies #103

merged 5 commits into from
Oct 20, 2024

Conversation

vweevers
Copy link
Member

No description provided.

@vweevers
Copy link
Member Author

vweevers commented Oct 20, 2024

Smoke failed with:

Undefined variable android_ndk_path in binding.gyp while trying to load binding.gyp

@cclauss
Copy link

cclauss commented Oct 20, 2024

Perhaps add fail-fast: false to see which tests are really failing.

@vweevers
Copy link
Member Author

Perhaps add fail-fast: false

Yeah, I sometimes add that in temporarily, but normally I prefer the default behavior, to not have to cancel manually. Thanks for the suggestion.

@vweevers
Copy link
Member Author

Smoke fails on win32-x86 with:

gyp http 500 https://nodejs.org/dist/v23.0.0/win-x86/node.lib
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: 500 status code downloading ia32 node.lib
gyp ERR! stack at downloadNodeLib (D:\a\classic-level\classic-level\node_modules\node-gyp\lib\install.js:334:15)

Turns out Node.js 23 removed support of 32-bit Windows (nodejs/node#53184) so I'll restore the --target argument in order to build against 18.

@vweevers
Copy link
Member Author

That's fixed. Next issue is that linux-x64 fails with:

Traceback (most recent call last):
  File "/input/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
  File "/input/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/input/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 8, in <module>
    import gyp.common
  File "/input/node_modules/node-gyp/gyp/pylib/gyp/common.py", line 435
    if CC := os.environ.get("CC_target") or os.environ.get("CC"):
           ^
SyntaxError: invalid syntax

It's using Python 3.6.8. Need to update (or maybe just rebuild) https://github.com/prebuild/docker-images/blob/master/centos7-devtoolset7/Dockerfile.

vweevers added a commit to prebuild/docker-images that referenced this pull request Oct 20, 2024
As alternative to centos7-devtoolset7 which:

- No longer builds (because mirrorlist.centos.org is offline)
- Doesn't support Node.js >= 18
- Doesn't support C++ 20.

Ref: prebuild/prebuildify-cross#13
Ref: Level/classic-level#103 (comment)
vweevers added a commit to prebuild/docker-images that referenced this pull request Oct 20, 2024
As alternative to `centos7-devtoolset7` which:

- No longer builds (because `mirrorlist.centos.org` is offline)
- Doesn't support Node.js >= 18
- Doesn't support C++ 20
- Ships an EOL python version (3.6.8) which doesn't work with node-gyp 10

Ref: prebuild/prebuildify-cross#13
Ref: Level/classic-level#103 (comment)
@vweevers
Copy link
Member Author

That's fixed as well. Smoke now passes, meaning we're ready to release v2 🙂

Follow-up for c177f3c. Older Electron versions will still work
fine, but we stop testing them.

Category: removal
Category: none
Previously we used 8.14.0 which is really old. We can't just omit
the `--target` argument and use the latest version, because Node.js
23 dropped support of 32-bit Windows.

The choice for 18.20.4 specifically is not really important. I just
picked LTS and then the latest version within that range. The intent
is 18.x.

Category: change
Which means classic-level now requires glibc 2.28 (same as Node.js
18) instead of glibc 2.17. Would be a breaking change if an earlier
commit didn't already drop support of Node.js < 18.

Ref: prebuild/docker-images#38
Category: change
@vweevers vweevers merged commit a3be44d into main Oct 20, 2024
0 of 24 checks passed
@vweevers vweevers deleted the update-ci branch October 20, 2024 23:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants