express icon indicating copy to clipboard operation
express copied to clipboard

Replace Appveyor windows testing with GHA

Open jonchurch opened this issue 1 month ago • 4 comments

Edit: Ah, this will take more work than I realized. our current CI uses several cli tools to get its job done. I can make this work, but not in the 15 mins I had when I first opened the PR. I setup nvm-windows to allow us to install node-versions below 6 (which is lowest supported by actions/node-setup as far as I can tell, which would be my preference) but there is still work to be done here. Maybe we want to use actions/setup-node-using-nvm

Currently we test against unbuntu-latest on github actions, and then on windows with appveyor.

I want to remove the appveyor dependency, as it has been hanging and slow, holding up PRs for hours at a time.

This PR adds windows-latest to the CI matrix.

I don't know a better way to test this than via PR, and want to run it in the main repo rather than my fork. Will fixup history on my branch once I have something ready to land.

tasks

  • [x] Run tests on windows-latest
  • [x] Split the Lint step out so it only runs once, not once per node version/platform combo
  • [ ] Drop io.js support officially, testing for it isn't worth it, if we support node 4 we support io.js (I want to do this, but eh, if it's not too much work to continue to run CI for io.js I'll keep it in instead. haven't invested much in this)
  • [x] Figure out a fix for the npm install failure under Node 5
  • [ ] Remove Appveyor Connection
  • [x] Figure out how we are using codecoverage, where do we report it? (we report it to coveralls, in a CI step, viewable here)
    • [ ] Investigate reducing coverage runs (do we really need to run for every version?)
  • [ ] Rename the CI from Experimental
  • [ ] Replace existing v4 CI
  • [ ] Open Issue for v5 CI based on the work here

jonchurch avatar Apr 14 '24 08:04 jonchurch

Note to self: Remove the lint step that runs for every Node Version, it is redundant as we are static analyzing source code, which will not differ based on the Node version.

jonchurch avatar Apr 20 '24 18:04 jonchurch

Woah, ran into this https://github.com/npm/cli/issues/681 on Node 5 here, dunno what the fix is. I guess update npm? Im just using what ships w/ the latest version of Node 5

jonchurch avatar Apr 20 '24 19:04 jonchurch

Okay, Node 21 seems to have added a new method! QUERY which is awesome, looks to have landed here https://github.com/nodejs/node/pull/51719 in 21.7.2 (changelog)

That's why I have a failing test here on 21, dunno the actual root cause though.

@wesleytodd any idea what needs to be done to router to support QUERY? Or maybe the failure is on Supertest?

To repro it, nvm install 21 && npm t

jonchurch avatar Apr 20 '24 20:04 jonchurch

@wesleytodd any idea what needs to be done to router to support QUERY? Or maybe the failure is on Supertest?

Just to close the loop on this, this was sorted out in other channels. It was not yet fixed correctly in core.

wesleytodd avatar Apr 29 '24 15:04 wesleytodd