git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/5] ci: add GitLab CI definition

From
Patrick Steinhardt <ps@pks.im>
Date
Nov 1, 2023, 11:56 UTC
Message-ID
<ZUI8-z2luCAC-XtB@tanuki>
In-Reply-To
<xmqqttq6xr9k.fsf@gitster.g>
On Wed, Nov 01, 2023 at 09:15:51AM +0900, Junio C Hamano wrote:
Show 38 quoted lines
> Patrick Steinhardt <ps@pks.im> writes:
> 
> >> So I have some hesitation about trying to mirror this rather complicated
> >> set of build rules in another CI environment. My primary concern would
> >> be that the two might fall out of sync and a series that is green on
> >> GitHub would be red on GitLab, or vice-versa. Importantly, this can
> >> happen even without changes to the build definitions, since (AFAICT)
> >> both forges distribute new images automatically, so the set of packages
> >> installed in GitHub may not exactly match what's in GitLab (and
> >> vice-versa).
> >
> > Yup, that's a valid concern.
> 
> Is it?
> 
> I rather naïvely think different set of build options and tools
> running the tests would mean we gain wider test coverage.  Even with
> the current setup that relies on whatever GitHub offers, we already
> see "this version passes all tests except for the job on macOS" and
> "the version that was passing yesterday is not broken today---perhas
> the image of the test environment has been updated and we need to
> adjust to it" every once in a while.
> 
> > As mentioned, this patch series does not have the intent to make
> > GitLab CI a second authoritative CI platform.  GitHub Actions
> > should remain the source of truth of whether a pipeline passes or
> > not.
> 
> I am not sure I follow.  Often we take a version that happened to
> have failed Actions tests when we know the reason of the failure
> has nothing to do with the new code.  From time to time people help
> to make CI tests less flakey, but flakes are expected.
> 
> > Most importantly, I do not want to require the maintainer
> > to now watch both pipelines on GitHub and GitLab.
> 
> I don't even make tests by GitHub Actions force me to do anything,
> so there is no worry here.
Okay.
Show 11 quoted lines
> > This might be another indicator that the pipeline should rather be
> > in "contrib/", so that people don't start to treat it as
> > authoritative.
> 
> Let me step back and as more basic questions.
> 
>  - What do you mean by "authoritative"?  For an authoritative CI
>    test, contributors whose changes do not pass it should take it as
>    a sign that their changes need more work?  If so, isn't it a
>    natural expectation and a good thing?  Unless you expect the CI
>    tests to be extra flakey, that is.

I was assuming that GitHub Actions was considered to be "the" CI platform of the Git project. But with your explanations above I think that assumption may not necessarily hold, or at least not to the extent I assumed.

>  - Are there reasons why you do not trust the CI tests at GitLab
>    more than those run at GitHub?

No. Based on the above assumption I was simply treading carefully here. Most importantly, I didn't want to create the impression that either:

    - "Now you have to watch two pipelines", doubling the effort that CI
      infrastructure creates for you as a maintainer.
    - "I want to eventually replace GitHub Actions".

This carefulness probably also comes from the fact that GitLab and GitHub are direct competitors, so I was trying to preempt any kind of implied agenda here. There is none, I just want to make sure that it becomes easier for us at GitLab and other potential contributors that use GitLab to contribute to Git.

Hope that makes sense.
Show 24 quoted lines
> > Last but not least, I actually think that having multiple supported CI
> > platforms also has the benefit that people can more readily set it up
> > for themselves. In theory, this has the potential to broaden the set of
> > people willing to contribute to our `ci/` scripts, which would in the
> > end also benefit GitHub Actions.
> 
> Yes, assuming that we can do so without much cutting and pasting but
> with a clear sharing of the infrastructure code, and the multiple
> supported CI environments are not too flakey, I am with this rather
> naïve worldview that the more we have the merrier we would be.
> 
> > I understand your points, and especially the point about not having a
> > second authoritative CI platform. I'm very much on the same page as you
> > are here, and would be happy to move the definitions to "contrib/" if
> > you want me to.
> >
> > But I think we should also see the potential benefit of having a second
> > CI platform, as it enables a more diverse set of people to contribute.
> > which can ultimately end up benefitting our CI infra for both GitHub
> > Actions and GitLab CI.
> 
> I do *not* want to add new things, if we were to use them ourselves,
> to "contrib/".  We have passed that stage long time ago that keeping
> everything in my tree gives wider exposure and foster cooperation.
Fair enough.
Thanks for taking the time to make your thoughts clearer to me!
Patrick
Previous: Junio C HamanoNext: Patrick Steinhardt
Message 65 of 101 in “ci: add GitLab CI definition”
  1. 0/5 ci: add GitLab CI definitionPatrick Steinhardt, Oct 26, 2023
  2. 1/5 ci: reorder definitions for grouping functionsPatrick Steinhardt, Oct 26, 2023
  3. Oswald BuddenhagenOct 26, 2023
  4. Patrick SteinhardtOct 27, 2023
  5. 2/5 ci: make grouping setup more genericPatrick Steinhardt, Oct 26, 2023
  6. 3/5 ci: group installation of Docker dependenciesPatrick Steinhardt, Oct 26, 2023
  7. Oswald BuddenhagenOct 26, 2023
  8. Patrick SteinhardtOct 27, 2023
  9. 4/5 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Oct 26, 2023
  10. Oswald BuddenhagenOct 26, 2023
  11. Christian CouderNov 3, 2023
  12. Patrick SteinhardtNov 6, 2023
  13. 5/5 ci: add support for GitLab CIPatrick Steinhardt, Oct 26, 2023
  14. Oswald BuddenhagenOct 26, 2023
  15. Patrick SteinhardtOct 27, 2023
  16. Phillip WoodOct 27, 2023
  17. Oswald BuddenhagenOct 27, 2023
  18. Phillip WoodOct 27, 2023
  19. Oswald BuddenhagenOct 27, 2023
  20. Phillip WoodOct 30, 2023
  21. Dragan SimicOct 30, 2023
  22. Oswald BuddenhagenOct 27, 2023
  23. Patrick SteinhardtOct 27, 2023
  24. 0/5 ci: add GitLab CI definitionPatrick Steinhardt, Oct 27, 2023
  25. 1/5 ci: reorder definitions for grouping functionsPatrick Steinhardt, Oct 27, 2023
  26. 2/5 ci: make grouping setup more genericPatrick Steinhardt, Oct 27, 2023
  27. 3/5 ci: group installation of Docker dependenciesPatrick Steinhardt, Oct 27, 2023
  28. 4/5 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Oct 27, 2023
  29. 5/5 ci: add support for GitLab CIPatrick Steinhardt, Oct 27, 2023
  30. Phillip WoodOct 27, 2023
  31. Patrick SteinhardtOct 27, 2023
  32. Patrick SteinhardtOct 27, 2023
  33. Phillip WoodOct 27, 2023
  34. Phillip WoodOct 29, 2023
  35. Patrick SteinhardtOct 30, 2023
  36. Phillip WoodOct 29, 2023
  37. Patrick SteinhardtOct 30, 2023
  38. Junio C HamanoOct 30, 2023
  39. Oswald BuddenhagenOct 27, 2023
  40. Phillip WoodOct 27, 2023
  41. Oswald BuddenhagenOct 27, 2023
  42. Jeff KingOct 31, 2023
  43. Junio C HamanoNov 1, 2023
  44. 0/8 ci: add GitLab CI definitionPatrick Steinhardt, Oct 30, 2023
  45. 1/8 ci: reorder definitions for grouping functionsPatrick Steinhardt, Oct 30, 2023
  46. 2/8 ci: make grouping setup more genericPatrick Steinhardt, Oct 30, 2023
  47. 3/8 ci: group installation of Docker dependenciesPatrick Steinhardt, Oct 30, 2023
  48. 4/8 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Oct 30, 2023
  49. 5/8 ci: unify setup of some environment variablesPatrick Steinhardt, Oct 30, 2023
  50. Phillip WoodOct 30, 2023
  51. Patrick SteinhardtOct 30, 2023
  52. Dragan SimicOct 30, 2023
  53. 6/8 ci: squelch warnings when testing with unusable Git repoPatrick Steinhardt, Oct 30, 2023
  54. 7/8 ci: install test dependencies for linux-muslPatrick Steinhardt, Oct 30, 2023
  55. Patrick SteinhardtOct 30, 2023
  56. Patrick SteinhardtOct 30, 2023
  57. Phillip WoodOct 30, 2023
  58. Patrick SteinhardtOct 30, 2023
  59. Phillip WoodOct 30, 2023
  60. 8/8 ci: add support for GitLab CIPatrick Steinhardt, Oct 30, 2023
  61. Taylor BlauOct 30, 2023
  62. Patrick SteinhardtOct 31, 2023
  63. Taylor BlauOct 31, 2023
  64. Junio C HamanoNov 1, 2023
  65. Patrick SteinhardtNov 1, 2023
  66. 0/8 ci: add GitLab CI definitionPatrick Steinhardt, Oct 31, 2023
  67. 1/8 ci: reorder definitions for grouping functionsPatrick Steinhardt, Oct 31, 2023
  68. 2/8 ci: make grouping setup more genericPatrick Steinhardt, Oct 31, 2023
  69. 3/8 ci: group installation of Docker dependenciesPatrick Steinhardt, Oct 31, 2023
  70. 4/8 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Oct 31, 2023
  71. 5/8 ci: unify setup of some environment variablesPatrick Steinhardt, Oct 31, 2023
  72. Victoria DyeOct 31, 2023
  73. Junio C HamanoNov 1, 2023
  74. Patrick SteinhardtNov 1, 2023
  75. 6/8 ci: squelch warnings when testing with unusable Git repoPatrick Steinhardt, Oct 31, 2023
  76. 7/8 ci: install test dependencies for linux-muslPatrick Steinhardt, Oct 31, 2023
  77. 8/8 ci: add support for GitLab CIPatrick Steinhardt, Oct 31, 2023
  78. Victoria DyeOct 31, 2023
  79. Patrick SteinhardtNov 1, 2023
  80. Victoria DyeOct 31, 2023
  81. Junio C HamanoNov 1, 2023
  82. Patrick SteinhardtNov 1, 2023
  83. 0/8 ci: add support for GitLab CIPatrick Steinhardt, Nov 1, 2023
  84. 1/8 ci: reorder definitions for grouping functionsPatrick Steinhardt, Nov 1, 2023
  85. 2/8 ci: make grouping setup more genericPatrick Steinhardt, Nov 1, 2023
  86. 3/8 ci: group installation of Docker dependenciesPatrick Steinhardt, Nov 1, 2023
  87. 4/8 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Nov 1, 2023
  88. 5/8 ci: unify setup of some environment variablesPatrick Steinhardt, Nov 1, 2023
  89. 6/8 ci: squelch warnings when testing with unusable Git repoPatrick Steinhardt, Nov 1, 2023
  90. 7/8 ci: install test dependencies for linux-muslPatrick Steinhardt, Nov 1, 2023
  91. 8/8 ci: add support for GitLab CIPatrick Steinhardt, Nov 1, 2023
  92. 0/8 ci: add GitLab CI definitionPatrick Steinhardt, Nov 9, 2023
  93. 1/8 ci: reorder definitions for grouping functionsPatrick Steinhardt, Nov 9, 2023
  94. 2/8 ci: make grouping setup more genericPatrick Steinhardt, Nov 9, 2023
  95. 3/8 ci: group installation of Docker dependenciesPatrick Steinhardt, Nov 9, 2023
  96. 4/8 ci: split out logic to set up failed test artifactsPatrick Steinhardt, Nov 9, 2023
  97. 5/8 ci: unify setup of some environment variablesPatrick Steinhardt, Nov 9, 2023
  98. 6/8 ci: squelch warnings when testing with unusable Git repoPatrick Steinhardt, Nov 9, 2023
  99. 7/8 ci: install test dependencies for linux-muslPatrick Steinhardt, Nov 9, 2023
  100. 8/8 ci: add support for GitLab CIPatrick Steinhardt, Nov 9, 2023
  101. Junio C HamanoNov 9, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.