-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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
feat(ci): add a validation step for starters #10696
Conversation
Also - I want to think more on this approach. This doesn’t seem extremely scalable, and I want to avoid having to resort to editing shell scripts and adding additional (possibly slow) checks for every new functionality we want to validate. It’ll work—but I’d like to see if there’s something cleaner and perhaps simpler. |
So after thinking more on this, it may make sense to just make starters part of lerna/workspaces—then we can run whatever arbitrary tasks we want in the repo pretty cleanly. @pieh what this PR has works, but could possibly be improved. What do you think? |
I think this looks good to test. One thing that potentially worries me is the lock generation: If I read this right - it will (re)generate lock files on master commits. There is slight problem - lerna pushes publish commits before it push packages to npm registry, so we might be "version" behind with the lock files if we install deps before publish is complete? |
@pieh your comment there is if we swap to the lerna/workspaces approach, correct? As it works now, we're just basing the |
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.
Looks good, let's take it for test drive
Description
This PR will (start) to add some increased validation and checks for starters. In particular, it will generate a
yarn.lock
file in each starter (and add this to the read-only clone), as well as run thebuild
script to validate a successful build.During a pull request, it will:
npm install
npm run build
This will catch issues with a dependency change causing a failure, but it will not (currently) catch something like a failure introduced in the current changes in the PR (e.g. a change to Gatsby like in #10593). Fixing both of these are worth exploring, I just don't want to slow down the build too much.
During a merge to master, it will:
npm install
npm run build
yarn import
(generate a yarn.lock file based on the contents ofpackage-lock.json
)My main concern with the merge to master is that it's possible to fail and not know it fails. We do merge to master enough that it's not a huge concern and we'd catch it the next pull request, but worth noting.
Related Issues
Begins to address #10607