From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Derrick Stolee <derrickstolee@github.com>
Cc: Taylor Blau <me@ttaylorr.com>,
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH] ci: avoid unnecessary builds
Date: Mon, 07 Nov 2022 23:56:30 +0100 [thread overview]
Message-ID: <221108.8635autlha.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <114d4a72-1a75-71f3-8af6-6e82cd4fd54b@github.com>
On Mon, Nov 07 2022, Derrick Stolee wrote:
> On 11/7/22 4:03 PM, Ævar Arnfjörð Bjarmason wrote:
>>
>> On Mon, Nov 07 2022, Derrick Stolee wrote:
>>
>>> On 11/7/22 2:53 PM, Taylor Blau wrote:
>
>>>> I wonder how we should treat Ævar's concerns in this thread. I suspect
>>>> that the vast majority of workflows wouldn't be affected, but I don't
>>>> want to completely break Ævar's workflow, either ;-).
>>>>
>>>> Some kind of configuration mechanism like I proposed might be nice.
>>>> Thoughts?
>>>
>>> Taking a look at that sub-thread, I have two thoughts:
>>>
>>> 1. I don't think supporting a "multiple pushes of WIP work"
>>> scenario is a good use of "free" resources. If you want to
>>> test multiple versions of something, then use multiple
>>> branches (and I think Johannes's patch allows concurrent
>>> builds for distinct branch names).
>>
>> The setting Taylor proposed in
>> https://lore.kernel.org/git/Y2R3vJf1A2KOZwA7@nand.local/ is off by
>> default, i.e. it would behave the same way as what Johannes is
>> proposing, just give you (well, me) an opt-out from the default, without
>> patching main.yml on every branch.
>>
>> So it seems like a win-win, why force others to change their workflow?
>> Sure, I could push multiple branches, but you could also manually cancel
>> your outstanding jobs before re-pushing...
>>
>> I agree that cancelling the outstanding job is a better default, and if
>> we had to pick one or the other I'd say "sure", but if we can have
>> both...
>
>>> Either of these points may have an incorrect assumption, so
>>> I'm prepared to be wrong.
>>
>> I *think* you're wrong about #2, but I'm not sure either.
>
> At the very least, the configurable option requires fetching the
> repo and checking out at least one file. I don't know how much it
> actually saves one way or another.
It's already fetching the ci-config repo, so we're talking about the
marginal cost of running the bit of shellscript to check if
config-repo/ci/config/skip-concurrent is executable, and if not keeping
the default config.
>> I don't think you can be wrong about #1, "others should change their
>> workflow to fit a new worldview" is more of a value-judgment :)
>
> True, but I think that the workflow you are trying to keep valid
> is also indistinguishable to the typical flow of force-pushing
> during incremental rewrites, so preserving your workflow will
> continue to add costs to that behavior.
I don't think it will, per the above. I mean, pedantically yes: But the
cost of that "test -x and variable setting" is so trivial that it's not
worth worrying about.
> My value judgement is that experts can adapt their workflows as
> situations change for the better of the group.
Sure, I agree with that in zero-sum scenarios, or where it's a hassle to
provide two things, and we need to pick one etc. I just don't see that
being the case here.
> If the cost of doing the config option version is minimal over
> the global concurrency issue, then I say we should go that route.
> I just expect it to take up more resources than the strategy
> proposed in the initial patch.
Based on what? That you read it as us cloning the ci-config repo just
for this new proposed config, and missed that we're doing it already, or
...?
> I wonder how we could determine this. Should we run a few CI
> jobs with some force-pushes in either approach (config turned
> off) so we know that cost?
The incremental cost of that "test -x", or...? I'm not sure what you
mean here.
next prev parent reply other threads:[~2022-11-07 23:04 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-03 13:34 [PATCH] ci: avoid unnecessary builds Johannes Schindelin via GitGitGadget
2022-11-04 1:46 ` Ævar Arnfjörð Bjarmason
2022-11-04 2:23 ` Taylor Blau
2022-11-04 3:20 ` Jeff King
2022-11-08 9:16 ` Johannes Schindelin
2022-11-09 14:00 ` Jeff King
2022-11-10 2:40 ` Taylor Blau
2022-11-04 2:09 ` Taylor Blau
2022-11-07 19:45 ` Derrick Stolee
2022-11-07 19:53 ` Taylor Blau
2022-11-07 20:08 ` Derrick Stolee
2022-11-07 21:03 ` Ævar Arnfjörð Bjarmason
2022-11-07 21:59 ` Derrick Stolee
2022-11-07 22:44 ` Taylor Blau
2022-11-08 8:18 ` Johannes Schindelin
2022-11-08 18:30 ` Taylor Blau
2022-11-07 22:56 ` Ævar Arnfjörð Bjarmason [this message]
2022-11-08 0:02 ` Derrick Stolee
2022-11-08 0:31 ` Junio C Hamano
2022-11-08 9:51 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=221108.8635autlha.gmgdl@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=johannes.schindelin@gmx.de \
--cc=me@ttaylorr.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.