[MacPorts] #52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI ----------------------------+-------------------- Reporter: mkae | Owner: raimue Type: defect | Status: new Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Keywords: | Port: ----------------------------+-------------------- On 01 Nov 2016, at 02:02 , Rainer Müller <raimue@macports.org> wrote:
Can we maybe decide on special commands in commit messages that cause the buildbot to completely ignore the commit? Such things should not limit us to what we can commit or not.
Perhaps a footer line (similar to Signed-off-by) at the end, such as:
buildbot: ignore
For reference, other services seem to use "[ci skip]" as a keyword that can appear anywhere in the commit message.
+1 I’d also suggest to use this also to specify which buildbots should be triggered for a commit along those lines: {{{ buildbot: Mavericks Sierra }}} I think that can be very helpful in some cases. -- Ticket URL: <https://trac.macports.org/ticket/52769> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+-------------------- Reporter: mkae | Owner: raimue Type: defect | Status: new Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+-------------------- Comment (by mkae): Sorry, @raimue, I meant to enter your handle into the CC field, but I inadvertently made you owner of this ticket! -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:1> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+-------------------- Reporter: mkae | Owner: raimue Type: enhancement | Status: new Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+-------------------- Changes (by mkae): * type: defect => enhancement -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:2> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+-------------------- Reporter: mkae | Owner: raimue Type: enhancement | Status: new Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+-------------------- Description changed by mkae: Old description:
On 01 Nov 2016, at 02:02 , Rainer Müller <raimue@macports.org> wrote:
Can we maybe decide on special commands in commit messages that cause the buildbot to completely ignore the commit? Such things should not limit us to what we can commit or not.
Perhaps a footer line (similar to Signed-off-by) at the end, such as:
buildbot: ignore
For reference, other services seem to use "[ci skip]" as a keyword that can appear anywhere in the commit message.
+1
I’d also suggest to use this also to specify which buildbots should be triggered for a commit along those lines: {{{ buildbot: Mavericks Sierra }}} I think that can be very helpful in some cases.
New description: On 01 Nov 2016, at 02:02 , Rainer Müller wrote:
Can we maybe decide on special commands in commit messages that cause the buildbot to completely ignore the commit? Such things should not limit us to what we can commit or not.
Perhaps a footer line (similar to Signed-off-by) at the end, such as:
buildbot: ignore
For reference, other services seem to use "[ci skip]" as a keyword that can appear anywhere in the commit message.
+1 I’d also suggest to use this also to specify which buildbots should be triggered for a commit along those lines: {{{ buildbot: Mavericks Sierra }}} I think that can be very helpful in some cases. -- -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:3> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Changes (by neverpanic): * owner: raimue => larryv * status: new => assigned Comment: Larry has worked on the buildbot lately and provided the GitHub webhook integration. He might now if there's an easy way to do this. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:4> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by larryv): From a policy standpoint: I don’t like the idea of polluting our (permanent!) commit history with transient administrivia like this. Will continue discussing on macports-dev. From a technical standpoint: - It would be easy enough to filter out something simple like “buildbot: ignore”. Not so easy to parse OS names and match them to builders. - Either Ryan or Rainer (can’t recall at the moment, would have to search email) has expressed a desire to remove builder-aware logic from `master.cfg`, which I agree with. This would restrict us to substring /regex-based line noise, like {{{ buildbot: ports-10.9_x86_64 ports-10.12_x86_64 }}} - Accepted changes get sent to all builders. I don’t know off the top of my head whether there is a way for builders to filter requests. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:5> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by raimue): This Stackoverflow answer describes a possible implementation of what we want: http://stackoverflow.com/a/30670892/67498 -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:6> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by larryv): This "modify a magic file" idea is intriguing. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:8> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by neverpanic): How is modifying a magic file (which is also in the history of the repository) different from putting the skip command in the commit message? Additionally, the magic file potentially increases the likelihood of merge conflicts and puts a useless file into the repository. I'd rather see the commit message approach than the file approach. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:9> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by mkae): Replying to [comment:9 neverpanic]:
... I'd rather see the commit message approach than the file approach. +1
The KDE folks also control a variety of git hooks through their commit messages. See [https://quickgit.kde.org/?p=macports- kde.git&a=blob&h=14f952f776b9f54263671cc2aba5886c6ebee75b&f=contrib%2Fgit- setup%2F.git-commit-template&o=plain their commit template]. I believe we should also have a common template for our devs which [https://trac.macports.org/wiki/WorkingWithGit#commitmessages takes all the hints found in our "Commit messages" section of the "Working with git" wiki page on board]. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:10> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by larryv): I don’t think it’s necessary or desirable to bother with this. In any case, wholly off-topic. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:11> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: 2.3.4 Resolution: | Keywords: Port: | -----------------------------+---------------------- Comment (by larryv): Replying to [comment:9 neverpanic]:
How is modifying a magic file (which is also in the history of the repository) different from putting the skip command in the commit message?
The difference is that one won’t see the magic file when one is looking through a list of commit messages. If you want to argue that it pollutes the list of changes…I can’t really deny it. Different side of the same coin, I guess.
Additionally, the magic file potentially increases the likelihood of merge conflicts
That’s true, but I’m assuming that skipping out on the buildbot run would be a rare thing. If people start doing it whenever they don’t feel like getting a build failure email (which I’m frankly afraid they will), I’d rather we not implement this at all and just manually disable the webhook on the rare occasions that we need to do a mass commit.
and puts a useless file into the repository.
Got me there. -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:12> MacPorts <https://www.macports.org/> Ports system for macOS
#52769: Git + builbot: post-commit-hook selecting which buildbots should be used for CI -----------------------------+---------------------- Reporter: mkae | Owner: larryv Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: server/hosting | Version: Resolution: | Keywords: buildbot Port: | -----------------------------+---------------------- Changes (by mojca): * keywords: => buildbot * version: 2.3.4 => -- Ticket URL: <https://trac.macports.org/ticket/52769#comment:14> MacPorts <https://www.macports.org/> Ports system for macOS
participants (1)
-
MacPorts