-
-
Notifications
You must be signed in to change notification settings - Fork 171
Description
This is an extension of nodejs/node#8265 (making a new issue because we don't seem to have a build-agenda
label we're using to make agenda items outside of our repo). We're being delegated the task of coming up with a proposal for an initial supported platforms / permutations list for the CTC to accept.
Would someone like to put up a hand to start such a list? We did have one on our very first README.md iteration but it's been removed for lack of maintenance (and it was aspirational rather than reflecting anything we had).
My proposal for process is (copied from nodejs/node#8265 (comment)):
Proposal from the Build WG meeting this week goes something like this:
- It's entirely up to the CTC to sign off on a "supported platforms" list
- The Build WG can be used as an expert group to (a) come up with an initial proposed list and (b) occasionally advise on updates to the list or be consulted on proposed updates. If we had an active Hardware WG then they could also be in the conversation but we don't have that right now.
- It would be good to have at least 2 tiers of hosts, perhaps even 3 (names could be improved here):
- Officially supported: test failures on these permutations should prevent a release; master and release branches should always be green on these
- Aspirationally supported: aiming for always-green but releases shouldn't be held up and collaborators should attempt to get to green on master and release branches but excessive yak shaving to get support should not be a holdup (e.g. getting musl features working for alpine builds?)
- Experimental: mostly would be the Build WG playing with new platforms, no requirement for collaborators to even pay attention to these if they don't care
The trick here is the technical pieces to have different levels of support. Ideally we'd be able to prevent failures on the non-official platforms from causing a red/failed build. Perhaps we can reuse the yellow/flaky stuff somehow. The Build WG has some ideas here and some TODOs for experimentation on how to make this work. The other path is to simply deal with this complexity through the new github bot that's going to be reporting all sorts of stuff to github and may even mean collaborators don't need to even touch or look at Jenkins.