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

Need workaround for CircleCI limitations #114

Closed
petermetz opened this issue Feb 21, 2020 · 2 comments
Closed

Need workaround for CircleCI limitations #114

petermetz opened this issue Feb 21, 2020 · 2 comments
Assignees

Comments

@petermetz
Copy link
Contributor

Description

As a maintainer/contributor I want to have the CI executed on any new pull request as soon as it comes in so that as much of the process is automated as possible and we don't accidentally break the master branch for others with a PR that looks good but breaks the CI when merged.

The root cause:
CircleCI does NOT support running jobs on PRs, only on commits =>
https://ideas.circleci.com/ideas/CCI-I-316

One workaround we could do is have a staging branch where we accept pull requests and then see how the CI shakes out and merge to master based on that, but this is not a good solution (IMHO) because it would introduce this otherwise unnecessary feedback loop for PRs that we accepted by it broke the CI and now we have to go back to the contributor asking to fix it while it's also possible that they have moved on in the meantime and will no longer be available for fixing up the PR.
Another issue with this workaround is that bad PRs can pile up on each other on the staging branch and there we are in merge hell.

Strictly temporary workaround #2: Whenever someone submits a PR, a maintainer pulls the contents of said PR to a temporary branch in the main repo so that CircleCI can run a job on it there.

Third option: ask everyone to send PRs from branches they created on the main BIF repo. This would require careful permission management in the HL labs organization so that only maintainers can commit to master, but everyone else is free to open new branches and commit to it.

  1. this may not fly with HL labs admins, 2) GitHub might not even support fine grained branch permissions like this (haven't investigated).

Acceptance Criteria

  1. Feedback should be automatically provided to new pull requests in the form of green/red CI
  2. Nothing should be merged without having passed the CI on it beforehand
  3. No extra administrative burden on maintainers nor contributors compared to the current flow with Travis (which is able to run jobs on PRs without issues).
@petermetz petermetz self-assigned this Feb 21, 2020
@petermetz petermetz changed the title New Branching Scheme to work around CircleCI limitations Device workaround for CircleCI limitations Feb 21, 2020
@petermetz petermetz changed the title Device workaround for CircleCI limitations Need workaround for CircleCI limitations Feb 21, 2020
@petermetz petermetz pinned this issue Feb 22, 2020
@petermetz
Copy link
Contributor Author

Note to self: If #123 makes it through the review then this will implicitly get resolved as well because the CI will no longer need an extra large machine (32GB RAM) and we can just roll with Travis or Azure or whatever else.

@petermetz
Copy link
Contributor Author

Fixed by #123

@petermetz petermetz unpinned this issue May 19, 2020
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

No branches or pull requests

1 participant