From: <rsbecker@nexbridge.com>
To: "'Emily Shaffer'" <nasamuffin@google.com>
Cc: "'brian m. carlson'" <sandals@crustytoothpaste.net>,
<git@vger.kernel.org>, "'Taylor Blau'" <me@ttaylorr.com>,
"'Junio C Hamano'" <gitster@pobox.com>
Subject: RE: [PATCH] Documentation: add platform support policy
Date: Mon, 15 Jul 2024 18:50:45 -0400 [thread overview]
Message-ID: <010601dad709$70d92f10$528b8d30$@nexbridge.com> (raw)
In-Reply-To: <CAJoAoZnYxfg_uU96Dr5T3GJYMsx1n7YyQrKGha=MEEHMa2UaRw@mail.gmail.com>
On Monday, July 15, 2024 6:28 PM, Emily Shaffer wrote:
>On Fri, Jul 12, 2024 at 12:46 PM <rsbecker@nexbridge.com> wrote:
>>
>> On Friday, July 12, 2024 3:34 PM, brian m. carlson wrote:
>> >Subject: Re: [PATCH] Documentation: add platform support policy
>> >
>> >On 2024-07-11 at 23:15:35, Emily Shaffer wrote:
>> >> On Thu, Jul 11, 2024 at 3:24 PM brian m. carlson
>> >> <sandals@crustytoothpaste.net> wrote:
>> >> > Some older OSes require kernel features that aren't compiled in
>> >> > by default, so containers are out. For example, CentOS 6 won't
>> >> > run on a modern kernel because it lacks whatever the predecessor
>> >> > to the vDSO was (which can be recompiled into the kernel, but nobody does
>that).
>> >>
>> >> Is this hinting that we should mention a minimum kernel version for
>> >> Linux-kernel-based OSes?
>> >
>> >This is actually a feature that still exists in the kernel and could
>> >be enabled for newer kernels, but because distros don't use it (they
>> >use the vDSO instead), they don't compile it in.
>> >
>> >I'm not sure a minimum kernel version is helpful, because most of the
>> >LTS distro kernels backport features, like Red Hat backported
>> >getrandom for example. In the interests of getting to a useful
>> >agreement, I think for now we should just punt on this and having a
>> >10 year lifespan will probably do the trick, and we can determine in the future if
>we need to apply more stringent measures.
>>
>> When looking at the "exotics", many have their own kernel lifespans. When
>worrying about NonStop, for example, the Kernel version stays around about 5
>years under full support, then goes another few until retired. I think it is important
>for people to know the compatible versions of the kernel builds have. I do track
>those for the platform.
>>
>> >> > We also don't really want to be on the hook for trying to support
>> >> > OSes Ubuntu is still derived from Debian. It is likely that
>> >> > things which work in one will work in another, but not guaranteed.
>> >> >
>> >> > I mention Debian is because it has a large variety of supported
>> >> > architectures. I absolutely don't want to say, "Oh, you have
>> >> > MIPS hardware, too bad if Git doesn't work for you." (I assure
>> >> > you the distro maintainers will be displeased if we break Git on
>> >> > less common architectures, as will I.) In fact, MIPS is an
>> >> > architecture that requires natural alignment and can be
>> >> > big-endian, so it's very useful in helping us find places we wrote invalid or
>unportable C.
>> >> >
>> >> > The reason I'm very hesitant to require that we run everything in
>> >> > GitHub Actions because it only supports two architectures. ARM64
>> >> > and RISC-V are really popular, and I can tell you that running
>> >> > even a Linux container in emulation is really quite slow. I do
>> >> > it for my projects, but Git LFS only builds one set of non-x86
>> >> > packages (the latest Debian) because emulation is far too slow to
>> >> > build the normal suite of five or six packages.
>> >>
>> >> Does that restriction apply to just GitHub-hosted runners, though?
>> >> Would it be possible for an interested party to set up self-hosted
>> >> runners (configured via GH Actions) that are using AMD or POWER or
>> >> whatever? (For example, I think it would be quite feasible for
>> >> Google to donate some compute for this, though no promises).
>> >
>> >Self-hosted runners on public code are very hard to secure. You're
>> >basically letting arbitrary people on the Internet run code on those
>> >machines and make outgoing network connections (due to the fact that
>> >you can push whatever into a PR branch), with all of the potential
>> >for abuse that that involves (and as my colleagues can tell you,
>> >there's a whole lot of it). GitHub has taken extensive pains to
>> >secure GitHub Actions runners in the cloud, and while we use
>> >self-hosted runners for some internal projects, they are absolutely not allowed
>for any public project for that reason.
>>
>> I'm not sure this applies to some of the exotics. NonStop cannot run the Google CI
>code.
>
>
>I assume you meant the GitHub CI code?
Yes, sorry.
>> While we could, in theory, connect to via SSH to run builds, my system is behind a
>VPN/Firewall, which would make the builds impossible. I do build using Jenkins
>based on an SCM poll. It's not perfect and some tests do not run correctly in Jenkins
>but do outside. I would like to provide the feedback to the git team, somehow, on
>what built successfully or not, outside of the mailing list.
>
>I hope that the overall intent - you need to give us *something* that we can self-
>serve issue reproduction on, or else you can deal with lower quality of service - is
>clear and understood. It sounds like this puts NonStop squarely into this second
>category, running against `next` or `seen` on a nightly cadence and publishing
>breakage reports, then working closely with developers to make fixes as appropriate
>(or making them yourself). (By the way, is this doc something you can point your
>manager chain to to explain why Git issues appear and how to stop them from
>doing so? Maybe that would make your life easier, even if the answer to that
>conversation is "we can't provide what Git is asking for, so we'll be OK with lower
>quality of support"...)
That is my expectation also.
>> >I would be delighted if Google were willing to do that, but I think
>> >you're going to need help from teams like Google Cloud who are going
>> >to be used to dealing with abuse at scale, like cryptocurrency miners
>> >and such. Unfortunately, there are many people who act in a less
>> >than lovely way and will exploit whatever they can to make a buck.
>> >
>> >I will also note that the official Actions runner is in C# and only
>> >runs on a handful of platforms due to the lack of portability of C#.
>> >(It might theoretically run on Mono, which would increase its
>> >portability, but I must profess my complete ignorance on anything
>> >about that code.) I also know of an unofficial one in Go[0], which
>> >I'm for obvious reasons unable to endorse, encourage, or speak about
>> >authoritatively in any way, but that would still exclude some platforms and
>architectures which don't support Go.
>>
>> We don't have C# or Go, nor are likely to any time soon, so that is a problem.
>>
>> >
>> >> The appeal is not "because GitHub Actions are great!" for me - the
>> >> appeal is "because most Git developers run the CI this way if they
>> >> remember to or use GGG, and Junio runs it on `seen` all the time".
>> >> If there's some other recommendation for self-service CI runs that
>> >> don't need some careful reminding or secret knowledge to run, I'm
>> >> happy with that too. (For example, if someone wants to set up some
>> >> bot that looks for new [PATCH]-shaped emails, applies, builds, runs
>> >> tests, and mails test results to the author after run, that would
>> >> fit into the spirit of this point, although that sounds like a lot
>> >> of setup to me.)
>> >
>> >Yeah, I understand what you're going for. If there were some super
>> >easy way to get everything running in an automatic CI, I'm all for
>> >it. I think CI is the easiest way to make sure we don't break anything.
>> >
>> >I think it's worth trying to get CI set up for whatever we can, and
>> >if CI is a possibility somewhere, it becomes a lot easier to say yes.
>> >
>> >> Should have a reroll in the next 30min, it was ready to go and then
>> >> I got this mail :)
>> >
>> >Sounds good. I don't think anything in this email should affect that reroll.
>> >
>> >[0] https://github.com/ChristopherHX/github-act-runner
>> >--
>> >brian m. carlson (they/them or he/him) Toronto, Ontario, CA
>>
>> --Randall
>>
next prev parent reply other threads:[~2024-07-15 22:50 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-09 22:50 [PATCH] Documentation: add platform support policy Emily Shaffer
2024-07-09 23:16 ` brian m. carlson
2024-07-11 18:14 ` Emily Shaffer
2024-07-11 20:12 ` Kyle Lippincott
2024-07-11 20:24 ` rsbecker
2024-07-11 20:57 ` Emily Shaffer
2024-07-11 22:24 ` brian m. carlson
2024-07-11 23:15 ` Emily Shaffer
2024-07-12 19:33 ` brian m. carlson
2024-07-12 19:46 ` rsbecker
2024-07-15 22:28 ` Emily Shaffer
2024-07-15 22:50 ` rsbecker [this message]
2024-07-15 22:23 ` Emily Shaffer
2024-07-10 0:57 ` Junio C Hamano
2024-07-10 18:55 ` Emily Shaffer
2024-07-10 20:13 ` Junio C Hamano
2024-07-11 18:26 ` Emily Shaffer
2024-07-10 20:20 ` rsbecker
2024-07-11 18:19 ` Emily Shaffer
2024-07-11 18:53 ` rsbecker
2024-07-10 19:11 ` Kyle Lippincott
2024-07-11 18:37 ` Emily Shaffer
2024-07-11 19:36 ` Junio C Hamano
2024-07-11 19:55 ` Junio C Hamano
2024-07-11 20:25 ` Kyle Lippincott
2024-07-11 23:24 ` [PATCH v2] " Emily Shaffer
2024-07-12 18:15 ` Junio C Hamano
2024-07-15 22:20 ` Emily Shaffer
2024-07-15 23:46 ` Junio C Hamano
2024-07-16 17:58 ` Emily Shaffer
2024-07-16 18:20 ` rsbecker
2024-07-17 18:16 ` Junio C Hamano
2024-07-18 17:38 ` [PATCH v3] " Emily Shaffer
2024-07-18 18:22 ` Emily Shaffer
2024-07-18 21:47 ` Junio C Hamano
2024-07-18 22:46 ` Junio C Hamano
2024-07-18 23:45 ` rsbecker
2024-07-25 16:53 ` Emily Shaffer
2024-07-25 18:52 ` Emily Shaffer
2024-07-25 19:34 ` Junio C Hamano
2024-07-25 19:40 ` rsbecker
2024-07-23 9:02 ` Patrick Steinhardt
2024-07-25 20:27 ` Emily Shaffer
2024-07-23 21:49 ` Josh Steadmon
2024-07-25 20:31 ` Emily Shaffer
2024-07-30 17:54 ` [PATCH v4] " Emily Shaffer
2024-07-30 19:26 ` Junio C Hamano
2024-07-30 20:41 ` Emily Shaffer
2024-07-30 21:24 ` Junio C Hamano
2024-07-30 22:40 ` rsbecker
2024-07-31 17:20 ` Emily Shaffer
2024-07-31 20:58 ` rsbecker
2024-08-02 22:19 ` [PATCH v5] " Emily Shaffer
2024-08-02 23:31 ` Junio C Hamano
2024-08-02 23:32 ` rsbecker
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='010601dad709$70d92f10$528b8d30$@nexbridge.com' \
--to=rsbecker@nexbridge.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@ttaylorr.com \
--cc=nasamuffin@google.com \
--cc=sandals@crustytoothpaste.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).