WorksOnArm / equinix-metal-arm64-cluster

Arm and Equinix Metal have partnered to make powerful Neoverse based Armv8 bare metal infrastructure including latest generation Ampere systems — available for open source software developers to build, test and optimize for Arm64 architecture.
http://www.worksonarm.com
75 stars 12 forks source link

Pants - Works On Arm Sponsored #314

Closed benjyw closed 1 year ago

benjyw commented 1 year ago

If you are interested in filing a request for access to the Works on Arm test and CI infrastructure, please fill out the details below.

Proposals will be evaluated on a biweekly cycle or on a best effort basis by Arm and Equinix Metal.

Name, email, company, job title

Benjy Weinberger, benjyw@gmail.com Pants Build, Maintainer Toolchain, Co-founder/CEO

Project Title and description

The Pants Build System

Pants is a modern build system with a strong focus on Python, as well as JVM, Go and other languages. It uses static analysis to infer dependencies automatically, instead of requiring large amounts of accompanying config and metadata. Pants is written in a combination of Rust and Python. It is distributed on PyPI as a set of per-platform native Python wheels with an embedded .so built from the Rust code.

Pants currently has around 20 active maintainers, across several companies and organizations, plus many more casual, occasional contributors.

Describe your use case for these machines

As Linux on aarch64 becomes increasingly popular, more of our users are requesting that Pants run on this platform. To support this we need access to this platform to run CI to build, test and package Pants.

Which members of the community would benefit from your work?

An increasing number of users have been asking for this recently, including those who have commented on this ticket: https://github.com/pantsbuild/pants/issues/12183

These fall into two broad categories:

Is the code that you’re going to run 100% open source?

Yes.

Provide the URLs where it is located, or a Git repository.

Project code is here: https://github.com/pantsbuild/pants Documentation is here: https://www.pantsbuild.org/

Does this project require ARMv8.2 (Yes/No/Not Sure)? If Yes, please provide details

I'm not sure. I don't have enough expertise here, and don't know what the forward/backward compatibility guarantees and constraints are. But we need whatever version will later run on a platform that identifies as Linux aarch64, so I'm guessing not v8.2 specifically?

What infrastructure (computing resources and network access) do you need?

We need resources sufficient to run a GitHub Actions self-hosted runner that would download third-party Rust and Python dependencies, compile Rust code, and run our platform-specific tests and smoke tests. For comparison, the specs for the Mac Minis we build on are: 8 cores, 16-32GB RAM, 256-512GB SSD, 1Gb network, and one of those each for x86 and M1 usually suffices.

Our request is for continuous ongoing support. Pants is supported by Pants Build, a registered California 501c(6) non-profit (I am the treasurer of that organization).

Describe / Name the continuous integration (CI) system for this project.

We use GitHub Actions, with hosted runners for Linux x86_64 and macOS 11 x86_64, and self-hosted runners for macOS 11 M1 and macOS 10.15 x86_64. We do not yet support Windows.

Our request is for hardware on which to run a self-hosted runner for Linux aarch64.

Will these machines be exclusively used for CI purposes?

Yes. See https://github.com/pantsbuild/pants/actions for CI dashboard.

Does the project allows the use of your project logo on ARM's developer website freely? Yes / No / Not Sure

Yes, we own our logo and as an officer of Pants Build I can approve this usage.

Please state your contributions to the open source community and any other relevant initiatives.

Brag a little bit about yourself, please!

If you insist... :)

I've been a software engineer for over 25 years, at companies such as Google, Twitter, and Foursquare. I was one of the co-creators of the original Pants v1 project back in 2010, and now am a core maintainer of its replacement, Pants v2. I've authored well over 1000 PRs to the Pants project. I also provide user support on Pants's support channels on Slack and GitHub discussions, respond to GitHub issues, perform code reviews for other maintainers, and so on. Almost all my work is now open-source work.

Thank you for considering our project! We would love to support Arm, and we must, but not having resources to run CI on has been the biggest blocker.

Important reminders and logistics

Approved projects will be expected to provide credit back to Works on Arm in the form of a logo display, blog post, Twitter post, news release, or some other suitable acknowledgement.

Approved projects are subject to a 90 day review process for termination.

When resources are not required anymore or when the project ends, please add comments on this issue so that we can reuse the hardware for someone else! In case a project goes through ownership change or key people leaving, please promptly inform the team by adding comments on this issue. Our team will maintain dialogue with new members.

For more project information, see the following social channels:

pgmwoa commented 1 year ago

Thanks for your interest in WoA. We will review the request and get back to you.

benjyw commented 1 year ago

Thanks @pgmwoa!

pgmwoa commented 1 year ago

@benjyw Pls refer to the email sent on 7th Dec related to this request.

benjyw commented 1 year ago

Thanks! It went into my spam folder, so good thing you gave me a heads up here!

benjyw commented 1 year ago

@pgmwoa I have replied to that email, thanks!

pgmwoa commented 1 year ago

Resolved, closing the ticket

benjyw commented 1 year ago

I just wanted to follow up with the news that, thanks to the WoA hardware, we're now releasing Pants for Linux ARM. See for example https://pypi.org/project/pantsbuild.pants/2.16.0.dev6/#files . Pants 2.16.0 will be the first stable release with Linux ARM support, and we're very excited to announce that to our community soon!

Thanks again for helping us get to this milestone.

shipra-ps commented 12 months ago

Hi Benjy,

I had been trying to reach out to you to update that your duration for the server availability has already expired.

Can you please provide us an update on your current server usage and future plans for the project builds on ARM?

Regards, Shipra Snehi WoA Program Team

benjyw commented 12 months ago

Hi Shipra, thanks for reaching out!

Our current usage of the hardware generously provided by Works on ARM is critical for our project. As a reminder, Pants is an open-source software build system, and therefore must run on all developer's desktop machines, as well as any machines they deploy to. Increasingly, those systems are Linux ARM-based.

We use this hardware to build the Pants system for the ARM platform, and to test those builds. Without it we would not be able to release for ARM, a platform that is increasingly popular among our users.

Naturally we hope to be able to continue to use this hardware for this purpose.

Please let me know if you have any questions.

Best, ~ Benjy, on behalf of the Pants OSS community

PS You mention that you've been trying to reach out, this is the first message I've seen on this issue. Did you send other email or try to reach me in other ways?

On Wed, Jul 5, 2023 at 4:14 PM shipra-ps @.***> wrote:

Hi Benjy,

I had been trying to reach out to you to update that your duration for the server availability has already expired.

Can you please provide us an update on your current server usage and future plans for the project builds on ARM?

Regards, Shipra Snehi WoA Program Team

— Reply to this email directly, view it on GitHub https://github.com/WorksOnArm/equinix-metal-arm64-cluster/issues/314#issuecomment-1621733978, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAD5F7FMYIQOWWAR4T2NI63XOVSBRANCNFSM6AAAAAASKXJAKY . You are receiving this because you were mentioned.Message ID: @.***>

vielmetti commented 12 months ago

For reference, this is the published list of organizations using Pants.

https://www.pantsbuild.org/page/who-uses-pants

benjyw commented 12 months ago

Thanks for posting that @vielmetti ! To clarify, that is a very small subset of the many hundreds (at least) of orgs using Pants.