I'm working in a team with about 5 developers.Our workflow consists of creating PRs (pull requests) on GitHub and then merging the change into master after code review.
We have a few repositories (all private on GitHub) that depend on each other. Our dependencies look like this:
utils:
git:
url: g...@github.com:xxx/utils.git
ref: v1.0.3
Now let's say, you make a few changes, and update the webserver and the utils at the same time.
Right now, this is what we do:
- develop locally and set the dependency to utils: path: ../utils
- when done, commit changes in webserver and utils
- update the utils dependency in the webserver to GitHub again (this time to the ref: v1.0.4). At this time the tag doesn't even exist yet, so if there is a spelling mistake, it will go unnoticed.
- create the pull requests
- code review & merge the requests
- create the tag v1.0.4 on GitHub, so the dependency will work.
Those are so many steps, that have to happen in the right order, that it is very easy to make mistakes, and becomes extremely complex (unmanageable) when there are multiple PRs at the same time. Sometimes there are more than one repository that needs updating for one PR, which makes it even more complicated.
How do you handle this?