Skip to content
forked from nodejs/build

Better build and test infra for Node.

Notifications You must be signed in to change notification settings

ryanaslett/build

 
 

Repository files navigation

ARM Cluster

Some of the Node.js Build ARM resources: 3 generations of Raspberry Pi and other ARMv7 & ARM64 hardware

Node.js Build Working Group

Chat with us on Slack.

Purpose

The Node.js Build Working Group maintains and controls infrastructure used for continuous integration (CI), releases, benchmarks, web hosting (of nodejs.org and other Node.js web properties) and more.

Our mission is to provide Node.js Project and libuv with solid computing infrastructure in order to improve the quality of the software itself by targeting correctness, speed and compatibility and to ensure streamlined delivery of binaries and source code to end-users.

This repository contains information used to set up and maintain the various pieces of Node.js Project infrastructure managed by the Build Working Group. It is intended to be open and transparent, if you see any relevant information missing please open an issue. If you are interested in joining, please read GOVERNANCE.md to understand the process and reasoning we use for granting access to the resources we manage.

Build WG Members

Above list is manually synced with the gpg member list.

Infra Admins

Jenkins Admins

Admin access to https://ci.nodejs.org/.

Release Admins

Access to release secrets.

Above list is manually synced with the gpg member list.

Release Jenkins Admins

Admin access to https://ci-release.nodejs.org/.

GitHub Bot Admins

If you are interested in joining the Build WG, or for more information about accesses and team roles see GOVERNANCE.md.

Emeriti

Infrastructure Providers

The Node.js Project is proud to receive contributions from many companies, both in the form of monetary contributions in exchange for membership or in-kind contributions for required resources. The Build Working Group collaborates with the following companies who contribute various kinds of cloud and physical hardware to the Node.js project.

Tier-1 Providers

The Node.js Project's tier-1 infrastructure providers contribute the largest share of infrastructure to the Node.js project. Without these companies, the project would not be able to provide the quality, speed and availability of test coverage that it does today.

Tier 1 Infrastructure Providers

  • DigitalOcean: a popular cloud hosting service, provides a significant amount of the resources required to run the Node.js project including key CI infrastructure/servers required to host nodejs.org.

  • Rackspace: a popular managed cloud company, provides significant resources used to power much of the Node.js project's CI system, including key Windows compilation servers, along with additional services such as Mailgun for some nodejs.org and iojs.org email services.

Tier-2 Providers

The Node.js Project's tier-2 infrastructure providers fill essential gaps in architecture and operating system variations and shoulder some of the burden from the tier-1 providers, contributing to availability and speed in our CI system.

Tier 2 Infrastructure Providers

  • Microsoft: Provides Windows-related test infrastructure on Azure for the Node.js CI system.

  • Joyent: A private cloud infrastructure company, provides SmartOS and other test/build resources for the Node.js CI system, resources for backup of our critical infrastructure, redundancy for nodejs.org and or unencrypted.nodejs.org mirror.

  • IBM:

  • Scaleway: Scalable cloud platform designed for developers & growing companies, contributes key ARMv7 hardware for test and release builds for the Node.js CI system.

  • Cloudflare: CDN and internet traffic management provider, are responsible for providing fast and always-available access to nodejs.org.

  • ARM: Semiconductor intellectual property supplier, have donated ARMv8 / ARM64 hardware used by the Node.js CI system for build and testing Node.js.

  • Intel: "The world leader in silicon innovation," contributes hardware used for benchmarking in the Node.js project's CI system to advance and accelerate Node.js performance.

  • MacStadium: Managed hosting provider for Mac. Provides Mac hardware used for testing in the Node.js project's CI system.

  • Packet: Bare metal cloud for developers. Through their Works on Arm, Packet provides ARM64 build infrastructure and additional resources for powering our CI system.

Community Donations

From time to time, the Node.js Build Working group calls for, and receives donations of hardware in order to expand the breadth of the build and test infrastructure it maintains.

The Node.js Project would like to thank the following individuals and companies that have donated miscellaneous hardware:

  • NodeSource for a Raspberry Pi B, a Raspberry Pi B+, a Raspberry Pi 2 B and an ODROID-XU3
  • Andrew Chilton @chilts for a Raspberry Pi B
  • Julian Duque @julianduque for a Beaglebone Black
  • Andi Neck @andineck for 2 x Raspberry Pi B+
  • Bryan English @bengl for 2 x Raspberry Pi B+
  • Continuation Labs @continuationlabs for a Raspberry Pi B+
  • C J Silverio @ceejbot for a Raspberry Pi B+ and a Raspberry Pi 2 B
  • miniNodes for a Raspberry Pi B+ and a Raspberry Pi 2 B
  • Simeon Vincent @svincent for 3 x Raspberry Pi 2 B
  • Joey van Dijk @joeyvandijk and Techtribe for 2 x Raspberry Pi 2 B and an ODROID-U3+
  • Matteo Collina @mcollina for a Raspberry Pi 2 B
  • Sam Thompson @sambthompson for a Raspberry Pi 2 B
  • Louis Center @louiscntr for a Raspberry Pi 2 B
  • Dav Glass @davglass for 2 x ODROID-XU3, Raspberry Pi 1 B+, Raspberry Pi 3, power, networking and other miscellaneous equipment
  • Tessel for a Tessel 2
  • KahWee Teng @kahwee for a Raspberry Pi 3
  • Chinmay Pendharkar @notthetup and Sayanee Basu @sayanee for a Raspberry Pi 3
  • Michele Capra @piccoloaiutante for a Raspberry Pi 3
  • Pivotal Agency for two Raspberry Pi 3's
  • SecuroGroup for two Raspberry Pi 1 B+'s and two Raspberry Pi 3's
  • William Kapke @williamkapke for three Raspberry Pi 3's and networking equipment
  • Jonathan Barnett @indieisaconcept for a Raspberry Pi B+
  • James Snell @jasnell for a Raspberry Pi 2
  • Michael Dawson @mhdawson for a Raspberry Pi 1 B+
  • Chris Lea @chrislea for a Raspberry Pi 1 B+

If you would like to donate hardware to the Node.js Project, please reach out to the Build Working Group, via the #nodejs-build channel on the OpenJS Foundation Slack instance or contact Rod Vagg directly. The Build Working Group reserves the right to choose what hardware is actively used and how it is used, donating hardware does not guarantee its use within the testing infrastructure as there are many other factors that must be considered. Some donated hardware, while not used actively in the CI infrastructure, is used from time to time for R&D purposes by the project.

CI Software

Build and test orchestration is performed by Jenkins.

The Build WG will keep build configuration required for a release line for 6 months after the release goes End-of-Life, in case further build or test runs are required. After that the configuration will be removed.

About

Better build and test infra for Node.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 22.1%
  • Jinja 18.5%
  • JavaScript 14.5%
  • Python 9.3%
  • Groovy 7.6%
  • HCL 5.8%
  • Other 22.2%