[GHC DevOps Group] CircleCI job accounting question

Simon Marlow marlowsd at gmail.com
Wed Nov 22 17:09:46 UTC 2017


On 22 November 2017 at 15:31, Ben Gamari <ben at well-typed.com> wrote:

> Manuel M T Chakravarty <manuel.chakravarty at tweag.io> writes:
> > Why do we need the intermediate builds exactly? Wouldn’t they usually
> > fail? (When I do PRs with multiple commits, the state of the tree
> > between this commits will usually not be well-defined.)
>
> No, every commit should build. This is in part a difference between
> Phabricator's patch-based model and GitHub's feature branch model.
> However, many projects using the latter also demand that all
> intermediate commits must be atomic, buildable changes. Sacrificing this
> property greatly complicates bisection.
>
> Building all intermediates is desireable as ultimately we would like to
> preserve per-commit build artifacts for the last few months of commits
> to enable easy bisection.
>

I don't quite understand this. Yes building all commits is desirable, but
in the case of Phabricator each revision is going to be a single commit,
no? So why is this an issue? Or is it an issue only for github PRs? I
thought we had decided (somewhere, I forget where) that we were going to
require PRs to be squashed before pushing?

Cheers
Simon



>
> >> * I have tried enabling testing of Harbormaster Differentials via
> >>   CircleCI. Unfortunately it appears that CircleCI only supports
> >>   testing repositories hosted on GitHub. There are a few ways in which
> >>   we could proceed,
> >>
> >>    a. Move ghc's staging area (the repository where Arcanist pushes
> >>       patches submitted with `arc diff`) to GitHub. This, however, would
> >>       require that we manually manage push privileges to this
> repository.
> >
> > What do you mean by manually manage push privileges? In what way is
> > that not manually at the moment?
>
> As long as a user had added a key to their Phabricator account pushing
> to the staging area will "just work". It requires no intervention from
> me. I believe in the event that we moved to GitHub I would need to
> manually grant users commit privileges to the staging area.
>
> >>    b. Try to work around the issue by mirroring GHC's staging area to
> >>       GitHub and manually trigger CircleCI builds.
> >
> > Is the manual triggering necessary, because Harbormaster would need to
> > wait until the repo is triggered (which it can’t)?
>
> In general this whole mirroring situation doesn't appear to be a
> use-case that Phabricator's CircleCI integration supports. It demands
> that the staging area of the tested repository is hosted on GitHub.
>
> >> * I have been honing the Hadrian test infrastructure; I'm currently
> >>   waiting on a build, but I expect this attempt will pass, at which
> point
> >>   I will merge it.
> >
> > Great!
>
> Sadly the build appears to reliably hang with no output. I'll need to
> look into this.
>
> Cheers,
>
> - Ben
>
> _______________________________________________
> Ghc-devops-group mailing list
> Ghc-devops-group at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devops-group
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devops-group/attachments/20171122/7bb2f14b/attachment.html>


More information about the Ghc-devops-group mailing list