Comments (10)
Last I checked the memcached module wasn't building on iojs 3. But it isn't the memcached module, but instead the hashring module. If hashring were more popular, but not popular enough to make the list of that smoke runs with any frequency... it would be breaking more of the ecosystem, so saying memcached is busted is one problem, but if all things that dep on hashring are busted then it is a bigger problem than the singular module.
The other case is where the tests don't exercise the dep sufficiently for its own use case and so you end up breaking users but not test suites, deeper dep testing could catch more of those cases.
All that said, a human going through the output could catch the first case pretty easily. The second case could be pretty well mitigated by instead of running just most popular, we use something like @chrisdickinson's whole registry scanning stuff to find modules using the specific things that changed to augment running the most popular stuff.
I'm +0 on it. For automated background stuff, totally fine, but as a tool being used in real time by humans it would likely add too much time and humans wouldn't run it. Lazy humans...
from citgm.
If it is added, it would definitely be behind a switch that would also allow limiting the recursion depth. We would have to figure out how to output the results so that they are actually usable. Would take some playing around to get right I suspect.
from citgm.
this would be neat coupled with a feature where we can log success/failure of a module+module-version+node-version, caching those so when we run trough a batch of top-level modules we don't end up repeating the same tests, we could churn through a large number of packages in an automated way like that
from citgm.
I am +1 on this. More modules we cover better for us. But most of the dependencies may not be the latest. Would it be worth testing against them?
from citgm.
I'm + 1 on this as well. If you want to support version X of a module it would be nice to easily be able to validate the modules it depends on as well. An alternative to integrating directly might be a script that would take a list of 1 or more modules and generate a file that could be fed in to citgm to test those modules and all of the dependencies and we could do the de-duplication at this point.
from citgm.
Ok, I have a few ideas on how we can proceed with usable output. Once back from nodeconfeu I'll start working on it.
from citgm.
/cc @thealphanerd
from citgm.
The more I think about this the more I wonder if there should be some sort of backing service for the caching layer. If dep X at version Y has already been tested at some point against a specific version of Node, then it doesn't really need to be run again, now does it?
from citgm.
Now that I have worked on this more I'm going to suggest that we do not implement this feature unless we can find a safe way to parallelize the build jobs.
We should be able to rely on npm to create a list of all modules to be tested
from citgm.
I'm closing this for now. I think the idea of recursively testing modules is nice, but tbqh using a lookup table has solved all sorts of nasty technical edge cases. I think we should be focusing on expanding that list.
Please feel free to re open if you disagree
from citgm.
Related Issues (20)
- CITGM and asdf HOT 1
- Support pnpm; add Next.js HOT 4
- Suggestion: `citgm-smoker-lite` job for PRs HOT 6
- citgm-smoker-nobuild seems broken HOT 23
- `esmocha` broken by ESM hook changes? HOT 3
- import-in-the-middle failing HOT 3
- `jest` flaky tests HOT 2
- v21.x failing modules HOT 11
- Add `readable-stream` to the CITGM
- Add `react` to the CITGM HOT 2
- `[email protected]` chromium binary is not available for arm64 HOT 1
- citgm-smoke-nobuild osx11 fails to run x64 binary on arm HOT 3
- CI failures on Windows
- ppc64le incompatibility HOT 3
- Undici failures HOT 21
- Modules failing on Node.js 20.x HOT 1
- Modules failing on Node.js 18.x HOT 1
- Add to citgm: astro HOT 1
- CITGM failures in node 22 HOT 1
- Node.js latest CITGM results HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from citgm.