-
Notifications
You must be signed in to change notification settings - Fork 7
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
readiness #35
Comments
Ref: mochajs/mocha#4427 |
If you have an org to keep the forks in, and are happy to maintain those forks manually - probably today? I'll try to come up with a roadmap in the coming weeks. |
OK, I see your use case. It's probably somewhat doable today, yes, although some manual setup required. I'm happy to try to set things up and see how well it stacks up? Would be useful to have some concrete use cases to evaluate as we're building this - including yours. |
Responded on the mocha issue - shall we continue the discussion there? Otherwise "ready" is a very relative concept... I did create https://github.com/pkgjs/wiby/projects/1 to track the overarching theme of making this actually useful and suitable for humans. Unless there's objections - will close this issue in a week or so? |
I've responded over in that issue. not sure what you're talking about re "forks" |
At the moment |
hmm, so, to be clear, I'm trying to check that e.g. the interaction between mocha and the latest version of chai does not break when I make a change to mocha. would that require a fork of chai? if so, why? |
So you could achieve this in two ways - one would be to clone The idea behind So, if you don't have push access to
Depending on the type of that interaction you want to test, |
(I'm aware To test |
I agree that the "best" way to test is to open a PR against the repo, yes. But, consider that CITGM doesn't even do that. I would also be concerned about causing an explosion of used build minutes. Further, the need to have a bunch of forks laying around and keeping them updated (or creating them on-the-fly) seems like even more overhead. I am not sure I'd want to do this for Mocha, and would need to be convinced that it's really worth the tradeoffs. Regarding If Wiby's aim is to run tests in CI, then--and it's not up for debate--I wonder if a "mode" in which it essentially does a CITGM-like "clone and test" would be on the table? @BethGriggs I know your team had some involvement in this at one point, and I was wondering if there was anything I should be aware of in terms of goals/use-cases/users? |
Honestly, I'm not sure we'd need to build that, because there's already alternatives that do that? I was just notified of https://github.com/xing/canarist today. That said - I'm not strictly against it either. As for build minutes - if you own the forks, then you essentially use up the same amount of minutes, if you're going to try to test in all the relevant Node.js versions / full matrix? And you're probably interested if Mocha broke Chai's tests in Node 10 as well as in 12, 14, 15? |
There are, but I don't know of any that are in active development or wide use. The PR to extend CITGM in this way has stalled; fugl hasn't been published in a year. canarist seems tailored to workspaces/monorepos...
Well, wouldn't it run whatever the CI is configured to run? So if Express used Mocha and we wanted to make sure we didn't break Express, it'd run Express' CI suite? Or would we be expected to modify the CI configuration to run only relevant tests? e.g., I would skip an ESLint check since that has nothing to do with Mocha. |
Yeah, so that's what wiby intends to do. Maybe I misunderstood what you said, but if you want to run Express' CI suite, then you need to use their CI config (Travis or Actions or whatever), and that is tied to their repo anyways, so a fork (if you don't have/can't use direct push access) is a simple way of doing that? And it's the job of wiby to hide away the complexity of managing the fork, or at least that's the goal.
Some of the wild ideas around this was even go as far as fetching, say, top 1000 of your dependents and then picking random 10 and testing against those. So no - modifying configs manually is probably a no go. |
Yes, I understand. It does sound like it'd potentially use a lot of build minutes. What I'd like to understand is this: is running the complete CI suite of project X is worth the added overhead? If CITGM does not do this, and has historically (IMO) done a good job of not unknowingly breaking userland, is that not "good enough?" It sounded like what was being asked for in the issue you linked above was "CITGM, except generalized", which is different than this strategy. We know, then, that there is a need for a CITGM-like tool. Do maintainers want what wiby is intending to provide? |
I think it depends on the use case. Deprecating an old version of node and starting to use new features will most definitely break dependents. Then there's larger ecosystems to consider, namely stringing multiple PRs from different repos together. And then there's the fact that yes, I want what wiby is intending to provide, so I'm building it. Not saying that wiby should or shouldn't support the simple "test single version directly" case, just that I'm focusing on this use case for now. |
I want to use this. When can I use this? 😄
The text was updated successfully, but these errors were encountered: