nodejs / nan

Native Abstractions for Node.js
MIT License
3.27k stars 501 forks source link

Add GitHub Actions workflow and delete old CI configurations #959

Open tniessen opened 10 months ago

tniessen commented 10 months ago

Not ready, but let's see what happens.

Fixes: https://github.com/nodejs/nan/issues/958

kkoopa commented 10 months ago

Great, thank you. I am AFK at the moment, but will put a reminder to look at this later tonight or tomorrow.

On October 21, 2023 6:50:56 PM GMT+03:00, "Tobias Nießen" @.***> wrote:

Not ready, but let's see what happens.

  • [ ] Fix build for Node.js 9 and below
  • [ ] Copy other version-dependent logic from .travis.yml and appveyor.yml as necessary
  • [ ] Build and test against Electron versions (see ELECTRON_VERSION in .travis.yml)
  • [ ] Delete .travis.yml and appveyor.yml

Fixes: https://github.com/nodejs/nan/issues/958 You can view, comment on, or merge this pull request online at:

https://github.com/nodejs/nan/pull/959

-- Commit Summary --

  • Add GitHub Actions workflow
  • fixup!
  • fixup!

-- File Changes --

A .github/workflows/ci.yml (30)

-- Patch Links --

https://github.com/nodejs/nan/pull/959.patch https://github.com/nodejs/nan/pull/959.diff

tniessen commented 10 months ago

I still need to fix a few things, see the list in the PR description. I'll ping you once that's done, hopefully soon.

tniessen commented 10 months ago

This seems to work out-of-the-box for Node.js 10 and above, which includes all release lines of Node.js that have received any level of support since the end of 2019. On Node.js 9 and below, it seems that we need to at least downgrade node-gyp (see https://github.com/nodejs/nan/pull/932). However, older versions of node-gyp don't seem to fully support Python 3... and that might only be the tip of the iceberg.

I'd really like to see tests pass even against Node.js 0.10, but I am not sure how much benefit that actually brings in practice. I'd be glad to spend some more time on this if the maintainers of this repository feel that testing against Node.js 9 and below is important, but otherwise, perhaps Node.js 10 and above is already better than the broken Travis setup. (The only officially supported Node.js release lines are 18, 20, and 21 right now.)