Message ID | pull.1005.v9.git.1638273289.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Upstreaming the Scalar command | expand |
On Tue, Nov 30 2021, Johannes Schindelin via GitGitGadget wrote: > [...] > * The rebase on top of v2.34.0, which changed the default merge strategy to > ORT, should have changed the default for merge.renames to true. This is > now the case. > * Accommodate preemptively for ab/ci-updates which invalidates assumptions > made by this patch series that would still hold true with v2.34.0 but are > no longer valid in seen and would trigger CI build breakages. > [...] > 1: 3a2e28275f1 = 1: 3a2e28275f1 scalar: add a README with a roadmap > 2: 50160d61a41 = 2: 50160d61a41 scalar: create a rudimentary executable > 3: 74cd6410931 = 3: 74cd6410931 scalar: start documenting the command > 4: 37231a4dd07 = 4: 37231a4dd07 scalar: create test infrastructure > 5: a39b9c81214 = 5: a39b9c81214 cmake: optionally build `scalar`, too > 6: 8e3542e43f7 ! 6: 8c6762def30 ci: also run the `scalar` tests > @@ .github/workflows/main.yml: jobs: > - name: upload tracked files and build artifacts > > ## ci/run-build-and-tests.sh ## > -@@ ci/run-build-and-tests.sh: linux-gcc-4.8|pedantic) > - make test > - ;; > - esac > -+make -C contrib/scalar test > +@@ ci/run-build-and-tests.sh: esac > > check_unignored_build_artifacts > > ++make && make -C contrib/scalar test > ++ > + save_good_tree This gets rid of the hard CI failure we saw in "seen" but still carries forward the logic error noted in [1] and of the "pedantic" compilation-only job now running tests, which isn't what that job is supposed to be doing. See the "Don't run the tests" comment in cebead1ebfb (ci: run a pedantic build as part of the GitHub workflow, 2021-08-08). As noted before you can see that at the tail-end of your own CI output[2] on top of "master". There's other seemingly unintended interactions with the ci/ code on "master" here (which I also also noted in previous threads). FWIW the naïve merge with ab/ci-updates happens to fix at least one of those. I.e. the issue here of "linux-gcc" and "linux-clang" only running the scalar tests in one half of their test modes, but running everything else in both. I think it's clear from past exchanges that you vehemently disagree with my proposed direction for solving these and other issues in one fell swoop[3], which is fair enough. But I really don't think it's OK to continue to ignore reports from me of specific issues in this series just because you don't like that larger set of fixes [3]. I honestly don't care if you'd pick that up as-is, just as long as outstanding issues it addressed are either fixed, or commit messages/docs are updated to note that the bugs/behavior changes are intentional. In this case I think it would be fine to keep the patch as-is and have the commit message argue for why the scalar tests should be a special snowflake in being the only tests that are run in "pedantic". Or to just fix the seemingly unintentional behavior change in some smaller way. I think the "added thusly" comment I hade in [4] should be the easiest way to do that (well, [3] is easier, but let's leave that aside...). 1. https://lore.kernel.org/git/211122.86ee78yxts.gmgdl@evledraar.gmail.com/ 2. https://github.com/gitgitgadget/git/runs/4292915519?check_suite_focus=true 3. https://lore.kernel.org/git/patch-1.1-86fb8d56307-20211028T185016Z-avarab@gmail.com/ 4. https://lore.kernel.org/git/211123.86ilwjujmd.gmgdl@evledraar.gmail.com/
Hi Ævar, On Tue, 30 Nov 2021, Ævar Arnfjörð Bjarmason wrote: > On Tue, Nov 30 2021, Johannes Schindelin via GitGitGadget wrote: > > > [...] Unfortunately, you clipped the most important part, the part that I put in there mostly for your benefit. So let me repeat it once again: This patch series' focus is entirely on Scalar, on choosing sensible defaults and offering a delightful user experience around working with monorepos, and not about changing any existing paradigms for contrib/. I do see that you want to drag the conversation back to discussing the build process, and the CI integration. And on changing the way things are done in `contrib/`. You've made that point abundantly clear. I just don't see how that could possibly improve Scalar. I mean, if it failed during the past 4 months, why expect any different outcome in the future. Ciao, Johannes
On Tue, Nov 30 2021, Johannes Schindelin wrote: > Hi Ævar, > > On Tue, 30 Nov 2021, Ævar Arnfjörð Bjarmason wrote: > >> On Tue, Nov 30 2021, Johannes Schindelin via GitGitGadget wrote: >> >> > [...] > > Unfortunately, you clipped the most important part, the part that I put in > there mostly for your benefit. So let me repeat it once again: > > This patch series' focus is entirely on Scalar, on choosing sensible > defaults and offering a delightful user experience around working with > monorepos, and not about changing any existing paradigms for contrib/. > > I do see that you want to drag the conversation back to discussing the > build process, and the CI integration. And on changing the way things are > done in `contrib/`. You've made that point abundantly clear. I just don't > see how that could possibly improve Scalar. I mean, if it failed during > the past 4 months, why expect any different outcome in the future. The seemingly unintentional behavior change in CI jobs that aren't scalar jobs you're introducing started in v7 of this series, submitted on November 17th: https://lore.kernel.org/git/1b0328fa236a35c2427b82f53c32944e513580d3.1637158762.git.gitgitgadget@gmail.com/ So as far as any CI testing is concerned we're talking about just under 2 weeks. I really don't see how that and other unintentional behavior changes in the CI on top of "master" have anything to do with "the build process" in the sense that we've discussed as part of the greater scalar integration topic in the past. I only linked to those thread(s) because some of that behavior changing (i.e. now running tests in a previously compile-only job) is apparent when either running with my patch-on-top of this series, or it was discussed in some threads related to that & the merger with ab/ci-updates. Is it intentional that the previously compile-only "pedantic" job is now running the scalar tests?
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > This patch series' focus is entirely on Scalar, on choosing sensible > defaults and offering a delightful user experience around working with > monorepos, and not about changing any existing paradigms for contrib/. Sorry, but I am confused. The change to add "make &&" before testing scalar is a good change that allows CI to work with "existing paradigm for contrib/" that is "you need to build the top before doing anything in contrib/". But none of the contrib/ stuff is tested in the pedantic job, but if I understand correctly, we start some (namely, scalar) stuff in it tested there, deviating from existing practice. Is that intended?
Hi Junio, On Wed, 1 Dec 2021, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > This patch series' focus is entirely on Scalar, on choosing sensible > > defaults and offering a delightful user experience around working with > > monorepos, and not about changing any existing paradigms for contrib/. > > Sorry, but I am confused. > > The change to add "make &&" before testing scalar is a good change > that allows CI to work with "existing paradigm for contrib/" that is > "you need to build the top before doing anything in contrib/". > > But none of the contrib/ stuff is tested in the pedantic job, but if > I understand correctly, we start some (namely, scalar) stuff in it > tested there, deviating from existing practice. Is that intended? No, it was not intended. It was not even intended to integrate Scalar this tightly with Git's CI, but since you did not move along `js/scalar` into `next` for the past weeks, when no reviewer had anything to add to the actual code in `contrib/scalar/` nor were there any objections to integrate it, I made the mistake of assuming that you agreed with Ævar that such a tight integration into Git's CI was desired. However, I do not want to make the mistake again of assuming what your thoughts are, so let me ask you directly: from your perspective, what is stopping the inclusion of `js/scalar` into `next`? I am patiently and eagerly awaiting your answer, Dscho
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > No, it was not intended. It was not even intended to integrate Scalar this > tightly with Git's CI, but since you did not move along `js/scalar` into > `next` for the past weeks, when no reviewer had anything to add to the > actual code in `contrib/scalar/` nor were there any objections to > integrate it, I made the mistake of assuming that you agreed with Ævar > that such a tight integration into Git's CI was desired. OK, sorry to hear that we had miscommunication. I took the lack of comments an indication that people are not either interested in it, or viewing it as not-quite-ready-yet and waiting for a "more or less done" version. I think the CI updates from Ævar would be one of the things we'd have early in 'next' in this cycle, so if the topic does not play nice with it, the perception that it is not yet part of the regular CI testing would continue, I am afraid. Thanks.
On Thu, Dec 2, 2021 at 9:03 AM Junio C Hamano <gitster@pobox.com> wrote: > > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > No, it was not intended. It was not even intended to integrate Scalar this > > tightly with Git's CI, but since you did not move along `js/scalar` into > > `next` for the past weeks, when no reviewer had anything to add to the > > actual code in `contrib/scalar/` nor were there any objections to > > integrate it, I made the mistake of assuming that you agreed with Ævar > > that such a tight integration into Git's CI was desired. > > OK, sorry to hear that we had miscommunication. > > I took the lack of comments an indication that people are not either > interested in it, or viewing it as not-quite-ready-yet and waiting > for a "more or less done" version. Sorry that my work project rendered me unable to respond for over a month. > I think the CI updates from Ævar would be one of the things we'd > have early in 'next' in this cycle, so if the topic does not play > nice with it, the perception that it is not yet part of the regular > CI testing would continue, I am afraid. I think I missed the answer. I believe Johannes was curious if he reverted the recent CI testing of scalar he added in v7 (which would as a side effect make it play nicely with Ævar's CI updates), if the resulting version of js/scalar would be acceptable for next. (If my opinion matters: I'd be in favor. In more detail: Personally, while I think CI testing would be nice once we have a functionally useful scalar, the CI tests of this early version aren't really netting us anything. And they're blocking future scalar series unnecessarily. Johannes already said he had planned CI testing for a future series, so I'd rather just take this version of js/scalar minus the CI integration for next.)
Elijah Newren <newren@gmail.com> writes: > while I think CI testing would be nice once we have a functionally > useful scalar, the CI tests of this early version aren't really > netting us anything. And they're blocking future scalar series > unnecessarily. Johannes already said he had planned CI testing for a > future series, so I'd rather just take this version of js/scalar minus > the CI integration for next.) Yeah, with less stomping on each others' toes, things may flow smoother. As long as people are happy with the core part, that sounds like the best approach forward.
Hi Junio, On Thu, 2 Dec 2021, Junio C Hamano wrote: > Elijah Newren <newren@gmail.com> writes: > > > while I think CI testing would be nice once we have a functionally > > useful scalar, the CI tests of this early version aren't really > > netting us anything. And they're blocking future scalar series > > unnecessarily. Johannes already said he had planned CI testing for a > > future series, so I'd rather just take this version of js/scalar minus > > the CI integration for next.) > > Yeah, with less stomping on each others' toes, things may flow > smoother. I also would find it nice if that was the case. If I remember correctly, you mentioned quite a couple of times that you expect, particularly oldtimers on this list, to be mindful when contributing patch series, and to delay patches that would interfere with other patch series that are already in flight. I saw with sorrow that this rule was ignored a couple of times recently, even with new contributors, and I sincerely hope that we can unignore that rule again. > As long as people are happy with the core part, that sounds like the > best approach forward. Thank you. I have to admit that it was quite frustrating to see so many obstacles being put in my way, only to end up at pretty much the same place as I had been over a month ago. So it is extra gratifying to hear that you move forward with the Scalar patch series. I truly believe that our users will be better off for it. Thanks, Dscho
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > If I remember correctly, you mentioned quite a couple of times that you > expect, particularly oldtimers on this list, to be mindful when > contributing patch series, and to delay patches that would interfere with > other patch series that are already in flight. > > I saw with sorrow that this rule was ignored a couple of times recently, > even with new contributors, and I sincerely hope that we can unignore that > rule again. Sorry, but I am not sure what you are complaining about. In general, I do try to ask more experienced and competent folks to bear more burden when playing the role of a traffic coordinator, as they are more capable of doing so to help the process. Relative importance and complexity of the topics also play a role, so it is also possible that a more junior contributor may be asked to yield for a more urgent or a less complex topic. I would give strong preference to things that are already in 'next', of course. There has to be an extraordinary reason before we kick something out of 'next', only to yield the way to allow another topic to graduate first. So, I am not sure if there is a need to unignore any rule here. Thanks.