[GHC DevOps Group] CircleCI job accounting question

Ben Gamari ben at well-typed.com
Mon Dec 18 18:31:50 UTC 2017


Manuel M T Chakravarty <manuel.chakravarty at tweag.io> writes:

>> Am 16.12.2017 um 04:06 schrieb Simon Marlow <marlowsd at gmail.com>:
>> 
>> On 14 December 2017 at 17:30, Ben Gamari <ben at well-typed.com <mailto:ben at well-typed.com>> wrote:
>> Historically GHC avoided this since GHC avoided merge commits as they
>> complicate bisection. However, now since GitHub supports rebase-merging
>> this is certainly a compelling option. It's certainly much simpler than
>> the approach I outlined above yet provides the same benefits.
>> 
>> If no one objects I think this sounds like a great path forward.
>> 
>> We’ll have to be careful to tell people that PRs will be squashed
>> when merging, since the current workflow is to push multiple patches
>> at once to master.
>
> Yes, good point.
>
>> How does merging PRs work when our source of truth is not on github?
>
> I am not sure, but there are merged PR’s in the GitHub history, so I
> assume, it works. Ben?
>
I have generally avoided pushing directly to GitHub (including via PR
merge) since the git.haskell.org mirror won't see such pushes. This is
the reason why pushes to github.com/ghc/ghc are currently disabled. I
instead merge PRs manually and push to git.haskell.org. I instead merge
PRs with `git merge; git rebase` and push to git.haskell.org.

> Incidentally, once we have no more direct pushes to master, would it
> make sense to make GitHub the source of truth? (That would get rid of
> another bit of custom infrastructure.)
>
Perhaps, but I'm not sure I see the benefit in doing so given that this
would require reworking various of bits of infrastructure that depend
upon git.haskell.org that currently work fine. This includes the Trac
push notifications, the commit style checks, the submodule referential
integrity checks, and submodule mirroring hooks.

Additionally, GitHub's access control mechanism is quite lacking
relative to gitolite. We rely on this to keep ghc's branch namespace
(which is already quite cluttered) under control.

Cheers,

- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devops-group/attachments/20171218/2a1c4f80/attachment.sig>


More information about the Ghc-devops-group mailing list