-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduction: I'm John. How can I help? #2197
Comments
First I'll be honest that we still haven't figured out how best to onboard people smoothly. The challenges of balancing the access & trust required to access most of our resources creates a bit of a speed bump in getting people up to speed. So I hope you'll be patient with us as we work on this. We also have @davidstanke, from Google, who is keen to contribute too (#2171) we're all very keen to find a way for you all to become productive contributors because we have a large load that we'd like to share! It is considerably easier to establish trust relationships with people who work for large companies that already contribute to Node (the contractual employment arrangement means we get a legal basis for trust). So I think we should be able to get you all up to our basic access level fairly quickly. I think the first thing is to establish your presence around here so that there is a sense among the @nodejs/build team that there's a basic level of commitment. Some suggestions for that:
In terms of scope of potential work (/cc @davidstanke, @AshCripps and anyone else newish too), here's my thoughts from a historical perspective: Aside from the Node.js codebase itself, the Build Working Group is the oldest formal part of what is now the OpenJS Foundation. We started it while we were still negotiating with Joyent for more open governance of Node.js (under the "node-forward" banner). That process eventually escalated with the fork (io.js) but even by that time we already had our Jenkins infrastructure which was farm more sophisticated than what Joyent had, and were accumulating donor infrastructure companies that were keen to contribute to Node and we were the only ones offering a way to do that. After the "merge" and the formation of the Foundation, our infrastructure and the complexity of what we do ramped up, in accordance with the skill and time of the people we had contributing and the amount of donated infrastructure we were able to accumulate. A lot of that was ad-hoc, as these things often are, but most of it has persisted. We maintain most of what can be called "infrastructure" that the project relies on, not just Jenkins. We're now 6 years removed from that, we've gone through a period of growth and the last few years have been more characterised by decline, mainly in terms of people-time. Thankfully IBM have stepped up in recent years and has been our main people-contributor and this has kept us going fairly strong. We have a relatively sophisticated setup, a significant amount of resources (all still gratis!), but it constantly shows its age. We've talked many times about rearchitecting it to properly iron out all the wrinkles (flaws) that we see but it's hard to do that while still continuing to serve nodejs/node, libuv and some other associated projects. Most of our time is spent on fixing things and patching over older things, but we still have the basic architecture we've always had. Access keeps on being a problem we have to find ways around. Some of the tasks can only be done by a small core group who have access to key resources--it would be nice if our architecture allowed for more granularity than it currently does. So in summary, there are two parallel ways to think about contributions here: (1) help us maintain and slowly improve what we have to serve Node.js (and associated projects), (2) help us build some next-generation pieces of the puzzle to replace what we're currently doing (CI, www asset serving, release pipeline, test/release/infra server maintenance, access granularity, relationships with donor companies, relationship with client projects, management of this repo, management of the team, etc. etc.). There's a lot of scope for doing things in entirely new ways, you'll just have to apply some skill in navigating such things in a well-established open source project with a team of opinionated (and sometimes grumpy) people. |
I have nothing concrete to add, but want to comment anyway to say, OMG, welcome, hooray, can't wait to talk more at a meeting or something like that! |
I think i'm a bit of a special case when comes to new joiners as I had IBM platform specific tasks prepped for me before I joined IBM as a grad, but I think a good start would be to look through the docs with fresh eyes as weve just had a sort out in #2151 so would be good to have an outside opinion on anything thats not clear. (Feel free to PR any improvements) Dont think I have anything else extra to add to Rod's point besides feel free to attend the next meeting -> #2198 |
Hello you all. Just a quick ping, have you had time to look at anything here? |
Hi @sam-github! I started working on #1931 via nodejs/node#32129 and I've run into something I'd like verification on - where are the Jenkins configs for CI stored? As far as I can tell they are not in GitHub anywhere, so I'm guessing they are just stored server side? The reason I'm asking is that in nodejs/node#32129 I added testing from the tarball builds but the tests aren't passing and because I can't see the configs used for testing elsewhere, I'm not sure if there is an actual issue with the tarball builds or if I'm just running the tests differently than they are running in CI. |
I should mention I also looked into #2205 with a POC of running an arm64 self hosted GitHub action runner. |
@jkleinsc answered the specific CI config question over in your PR, but wrt. the larger problem, @nodejs/build Why isn't the config viewable by anybody? There are no secrets in any config I've seen, is it a jenkins limitation in how permissions can be setup? |
@sam-github if I go to that URL, all I see is: |
I support giving everyone that access. Lets give time for the build-wg to comment on why it isn't already there. |
I'm not super confident that we're secrets-free across the board. I can't think of any instances where we might have thrown things into job config that shouldn't be but I'm always surprised at the strange things I find in ci.nodejs.org. https://github.com/nodejs/jenkins-config-test is up and running and contains up to date config XML from the server. We've just not opened it up yet to the public. I've suggested it would be good for someone to spend some time looking through these configs to make sure that we're not publishing anything we probably shouldn't. |
We might need a new issue, with a long checklist, and to partition the work on that. |
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made. |
Have we lost our opportunity to collaborate here? Or can we pick this up again? |
While I would love to participate in the Build Working Group, I don't think I currently have capacity to do so. If that changes, I'll open up an new issue. |
Hi! I'm John Kleinschmidt and I work for Microsoft on Electron. My coworker Charles Kerr and I are planning on pairing together 1 day a week to help out the Node.js Build Working Group.
While I would consider myself primarily a coder, I have been running Electron’s CI for about 2 years and am hoping that my experience there will be helpful here. In particular here are the areas I think I can be helpful:
The text was updated successfully, but these errors were encountered: