ci: Add Nsolid runtime to CI and Integration tests#5332
ci: Add Nsolid runtime to CI and Integration tests#5332RafaelGSS merged 3 commits intofastify:mainfrom
Conversation
034edd6 to
15f263f
Compare
|
Can you please amend the LTS document accordingly? |
29f5fbc to
41f169b
Compare
Hi @mcollina, thanks for taking a look to this proposal. |
0a71840 to
1856de2
Compare
|
@RafaelGSS are you ok in supporting this change in case there are issues? I don't expect there will be but better safe than sorry. |
1856de2 to
414bea3
Compare
Yes, happy to support it. |
|
If we add some runtime guarantee that is not If |
I'd +1 the question, because it's a valid concern |
My generic take on this is that we can support them if our tests run unmodified. |
jsumners
left a comment
There was a problem hiding this comment.
I am not opposed to adding the extra runtime check (though I do wonder why this particular one is necessary given it is a direct rebuild of core). My only concern is regarding the implementation. This PR introduces a lot of complicated configuration to appease the fact that the runtime doesn't support all of the core versions we currently support. I'd rather see a completely separate "alternative runtimes" set of workflows added. Or maybe make the jobs reusable and define new matrix strategies utilizing them.
There was a problem hiding this comment.
My generic take on this is that we can support them if our tests run unmodified.
We should write it down somewhere in case.
Anyway my idea is:
do we block a PR if the NSolid CI does not work?
Assuming the answer is "no" I would move this run by:
- set it as optional by setting
continue-on-error
Or:
- I would move it to a separate workflow
- I would run the workflow on merge on main (as we do for the package managers: https://github.com/fastify/fastify/blob/main/.github/workflows/package-manager-ci.yml)
- (idea/suggestion) Add a notification to someone (maybe by opening an issue here or elsewhere)
I think creating a new workflow with |
Hi @RafaelGSS what you think if we use the same workflow and put the something like this: continue-on-error: ${{ matrix.continue-on-error || false }}
strategy:
matrix:
runtime: [node, nsolid]
node-version: [14, 16, 18, 20]
os: [macos-latest, ubuntu-latest, windows-latest]
include:
- runtime: nsolid
nsolid-version: 5
continue-on-error: true
exclude:
# excludes node 14 on Windows
- os: windows-latest
runtime: node
node-version: 14
# Nsolid 5 does not support Node.js 14, 16
- runtime: nsolid
node-version: 14
- runtime: nsolid
node-version: 16
hi @jsumners, thanks for joining to the discussion, I really appreciate it. |
RafaelGSS
left a comment
There was a problem hiding this comment.
We only need the test job for nsolid runtime. Lint, coverage are already covered by the original ci.yml
768ba4a to
b8c84af
Compare
Signed-off-by: Jefferson <jefferson.rios.caro@gmail.com> ci: Add Nsolid CI and Integration tests as separate pipelines
b8c84af to
43aa205
Compare
|
I'd rather see a separate workflow that is dedicated to alternative runtimes. |
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Propose N|Solid adoption
This pull request proposes the adoption of the N|Solid runtime, a fully compatible Node.js runtime developed by NodeSource.
Implementation
Details of the implementation:
Thank you for considering this addition to the Fastify project.
Checklist
npm run testandnpm run benchmarkand the Code of conduct