Skip to content
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

chore: add starters to monorepo #10310

Merged
merged 32 commits into from
Dec 20, 2018
Merged

Conversation

DSchau
Copy link
Contributor

@DSchau DSchau commented Dec 5, 2018

This PR adds in starters to the monorepo. Longer term, I believe we'll merge starters/examples since they're very much linked.

Future implementation improvements:

  • Run a build script to validate that the starter(s) can be built
    • I planned to use lerna run --scope gatsby-starter-* for this, but if there's another approach, happy to try that
  • Implement yarn workspaces/lerna so we can get automatic versioning in the starters (I have this built out at https://github.com/dschau/starters)
  • Author e2e tests vs. the starters so that we can ensure we're not breaking anything
    • These would follow a similar approach to the current e2e tests

Blocked by

gatsbyjs/gatsby-starter-blog#139 gatsbyjs/gatsby-starter-default#120 gatsbyjs/gatsby-starter-hello-world#32

@DSchau DSchau requested a review from a team as a code owner December 5, 2018 21:07
Copy link
Contributor Author

@DSchau DSchau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small comment!

@@ -133,6 +133,20 @@ jobs:
- <<: *attach_to_bootstrap
- run: yarn test:integration

starters_publish:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add back the other jobs, but this is helpful to validate this approach and get feedback more quickly.

See CircleCI for an example run.

@KyleAMathews
Copy link
Contributor

Oh cool! Yeah run Cypress tests and then remove them before syncing with the read-only repos.

DSchau added a commit to DSchau/gatsby that referenced this pull request Dec 12, 2018
This PR introduces a create-repos script which will likely be used
either manually, or as part of some CI process relating to gatsbyjs#10310, e.g. on master push and examples/* change, run this script.

I've made some assumptions here, specifically:

- examples are starters, and we can create the repo `gatsby-starter-*`
for every example
- using-* should be replaced, e.g. `using-styled-components` should
become `gatsby-starter-styled-components`
- that it makes sense to install dependencies for scripts and add them
to the yarn workspace

I think these all make sense, but sanity check appreciated.
@DSchau
Copy link
Contributor Author

DSchau commented Dec 13, 2018

More work to do here:

The clone and copy files approach won't work; how do we handle deleted files?

Follow along at DSchau#5, trying a new approach. I think I'll have to merge origin/master and that should do the trick.

@DSchau
Copy link
Contributor Author

DSchau commented Dec 14, 2018

One last thing to do, then we should be able to merge.

  • Add a Github token environment variable to CircleCI (this should probably be from @KyleAMathews or @gatsbybot or something)

@sidharthachatterjee
Copy link
Contributor

Bot to close all new pull requests to starter repos is ready at gatsbyjs/peril-gatsbyjs#64

@DSchau DSchau merged commit 61e207d into gatsbyjs:master Dec 20, 2018
@DSchau DSchau deleted the monorepo/starters branch December 20, 2018 19:37
gpetrioli pushed a commit to gpetrioli/gatsby that referenced this pull request Jan 22, 2019
This PR adds in starters to the monorepo. Longer term, I believe we'll merge starters/examples since they're very much linked.

Future implementation improvements:

- Run a `build` script to validate that the starter(s) can be built
  - I planned to use `lerna run --scope gatsby-starter-*` for this, but if there's another approach, happy to try that
- Implement yarn workspaces/lerna so we can get automatic versioning in the starters (I have this built out at https://github.com/dschau/starters)
- Author `e2e` tests vs. the starters so that we can ensure we're not breaking anything
  - These would follow a similar approach to the current e2e tests

Blocked by

gatsbyjs/gatsby-starter-blog#139 gatsbyjs/gatsby-starter-default#120 gatsbyjs/gatsby-starter-hello-world#32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants