-
Notifications
You must be signed in to change notification settings - Fork 160
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
Move to a mono-repo for better testing infrastructure #765
Comments
I feel like we should get the band back together for our weekly meetings to discuss this one! I personally have a bunch of issues with general moves to monorepos (not that I have much of a say in a decision like this) and I would be curious if we could explore some alternatives before we jump into this with both feet. Also I know that I am probably a bit biased against this (for anyone who has listened to me talk about monorepos) so please feel free too completely ignore me 😂 |
@mansona what are the alternatives? My three cents is that |
100% agree on the premise, I'm just talking about discussing some alternatives before making the plunge 😂 what do you think about starting up the weekly meetings again? |
@mansona I don’t know of any other alternatives to a monorepo or testing a project like this. I’m all ears for learning something here |
A Friday meeting is something I’d be down with. |
I have added a PR #768 with a proposed structure for monorepo based tests infrastructure. |
@kiwiupover - Can you describe what your actually proposing? What things would be included in the monorepo? |
@rwjblue I just updated the description of this issue with my thoughts on what is wrong with the current tests setup and why a monorepo would be great for ember-cli-fastboot. |
@kiwiupover looks like this can be closed :) |
The problems
The current test setup needs to run against npm 4 because we are swapping node modules at build time. Both
npm
5+ andyarn
expect node modules to be referenced from a repository or from disk somewhere. Prenpm
5+ node modules in present in thenode_modules
would be included whennpm install
is run.ember-cli-addon-tests builds uses [email protected] ember-cli-fastboot needs to tests against a wide rage of dependancies
We need to add tests for an embroider application.
The case for a monorepo
We add
test-package
applications so we can tests again each of the scenariosember-cli-fastboot
supports. We would add anembroider
application and run tests against that app. A number of addons have has success with this approachember-auto-import
being one.Here we would copy embroider, ember-auto-import and ember-css-modules mono-repo setup so we can test
ember-cli-fastboot
from real app and addon stand point.This approach would allow us to have an embroider app as a test-package that we can run tests against. This fixes #754 and many other issues.
Proposed test structure
I propose that we have singular focused tests and a
test-package
each of those focuses.An alternative could be we have a single custom app with all the customization tested in that application. I don't like this idea because it will be hard to fellow contributors to follow the customizations .
Use github actions
This is a no brainer vs travis and appveyor. Test are much faster with github actions.
Here is the same PR on my repo running github actions. kiwiupover#8
I don't know why github actions don't run for a PR from a forked repo. This PR branches from the monoropo PR #767 and should be merged following the merge of that PR.
I broke down package-json-test.js into separate tests with corresponding test-package applications
Adding test-packages for
Copy embroider, ember-auto-import and ember-css-modules mono-repo setup so we can test
ember-cli-fastboot
from real app and addon stand point.This would fix #754 and many other issues.
@kratiahuja @rwjblue, and @SparshithNR thoughts?
Setup monorepo. #767
Monorepo based tests #768
The text was updated successfully, but these errors were encountered: