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

Monorepos #140

Merged
merged 28 commits into from
Jun 14, 2018
Merged

Monorepos #140

merged 28 commits into from
Jun 14, 2018

Conversation

janl
Copy link
Contributor

@janl janl commented Apr 11, 2018

This is mostly done, but do not merge yet, before we’ve had some more eyes on this 👀

💥 Boom, monorepo support, complete with tests.

This is in anticipation of monorepo support landing in Greenkeeper soonish, but we won’t merge this before then.


Firstly, this commits adds an integration test suite that allows us to test different types of repositories.

Secondly. instead of operating on the top level ./package.json and assorted lock files, operations are now split into three distinct steps:

  1. validate we are running in the right CI branch.
  2. for each package.json file in ./ or sub directories:
  • check if we have to run the lockfile update code
  1. if any changes have been made, commit all changes in a single commit

This is a big change, please review thoroughly.

This also will be a semver-major update, just to make sure we don’t trip anyone up with a subtle change.

@gr2m
Copy link
Contributor

gr2m commented Apr 11, 2018

you can install https://github.com/apps/wip on this repo to have pull requests blocked automatically while you have "WIP" or "DO NOT MERGE" in the title :)

@janl janl force-pushed the feat/monorepos branch 4 times, most recently from 7bf2627 to f4269e5 Compare April 13, 2018 14:23
@janl janl force-pushed the feat/monorepos branch 12 times, most recently from 58553c6 to 58658f2 Compare April 16, 2018 11:07
@janl
Copy link
Contributor Author

janl commented Apr 16, 2018

TODO:

  • make hasLockfileUpdate() work on travis
  • contact other CI plugin implementers to validate this works for them
  • contact monorepo authors to use Greenkeeper & start using greenkeeper-lockfile
  • make BC-Major release, but without latest dist-tag
  • get everyone to test the new BC-Major release
  • release BC-Major release as latest dist-tag.

@janl janl self-assigned this Apr 16, 2018
janl and others added 24 commits June 14, 2018 12:54
BREAKING CHANGE: This now works with monorepos, it’s a big refactor,
that’s why we make it a new semver-major release when it lands, just
so that existing users won’t get tripped up by little changes.

However, the design goal here is to be as backwards compatible as
possible.
@Realtin Realtin merged commit 701d5cd into master Jun 14, 2018
@greenkeeperio-bot
Copy link
Member

🎉 This PR is included in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@espy
Copy link
Contributor

espy commented Jun 14, 2018

Hello everyone (and especially @mAAdhaTTah , who asked): this is now released as 2.0.0 under the next tag and available for testing, more details here: #164

Thanks!

patkub pushed a commit to patkub/greenkeeper-lockfile that referenced this pull request Jun 22, 2018
feat: support for monorepos and dependencies from monorepos

BREAKING CHANGE: multiple breaking changes, see list below.

- needs testing with CI services other than TravisCI
- CI Environment Variable needed for default branches other than `master`
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.

6 participants