-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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
Replace Appveyor windows testing with GHA #5599
Conversation
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. |
d5b045f
to
dba96dd
Compare
Woah, ran into this npm/cli#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 |
Okay, Node 21 seems to have added a new method! 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, |
Just to close the loop on this, this was sorted out in other channels. It was not yet fixed correctly in core. |
a5e2f78
to
bf249d0
Compare
it's falling back to only downloading the node binary, giving us npm 10 which those version of node cannot run
we end up installing npm on non-windows for 0.10 and 0.12 but Im fine with that to make the steps simpler
e40df78
to
611556b
Compare
@@ -1,6 +1,7 @@ | |||
# npm | |||
node_modules | |||
package-lock.json | |||
npm-shrinkwrap.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that Im adding shrinkwrap to gitignore, we don't generate it, but we did go out of our way in the CI before to configure node to ignore it
Comfortable removing that config part, and just making sure we never commit it
if: ${{matrix.npm-version != ''}} | ||
run: npm install -g ${{ matrix.npm-version }} | ||
|
||
- name: Configure npm loglevel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dropped configuring npm to ignore package-lock and shrinkwrap
We have .npmrc set to package-lock: false, and this same PR updates gitignore to ignore shrinkwrap
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason not to also move this config into the .npmrc
if this is what we need? I do wonder what the reason was to configure this at all in the past, do you know that?
with: | ||
node-version: ${{ matrix.node-version }} | ||
|
||
- name: Npm version fixes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the comments in the matrix include section to understand why I added a step to install npm for a few versions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, one nice change would be to remove the dev dependencies that are used only in examples/
such as connect-redis
so we don't need to uninstall in tests (add a new package.json
in the examples instead).
ee7035d
to
0c536b2
Compare
@blakeembrey, it's a good idea. I just did that blindly and then realized that we actually exericse at least some of the examples in our tests. Leaving this for another day. We are using these examples in the acceptance:
|
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
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)npm install
failure under Node 5