Skip to content

Pre-builds for nightly node#79

Open
pabloerhard wants to merge 8 commits intomainfrom
pabloerhard/nightly-builds
Open

Pre-builds for nightly node#79
pabloerhard wants to merge 8 commits intomainfrom
pabloerhard/nightly-builds

Conversation

@pabloerhard
Copy link

This PR intends to add the functionality of pre-building against nightly builds of Node.js.

@pabloerhard pabloerhard force-pushed the pabloerhard/nightly-builds branch from 29326d0 to d9a7e45 Compare November 13, 2025 21:35
version: data.version,
abi: data.modules,
isNightly: true,
alpineVersion: data.alpineVersion || '~3.17'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed? Isn't this version supposed to come from Alpine itself? Especially since we support multiple versions so I'm not sure what this variable does.

Copy link
Author

@pabloerhard pabloerhard Nov 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most targets already have a hardcoded version which is used to filter the nodeTargets array, we could either never add that alpineVersion or leave as the current default that node 25 uses and if needed give the possibility of it being defined by the user.

This would involve adding the following code when pushing the nightly target

  if (process.env.NIGHTLY_VERSION) {
    const nightlyTarget = await getNightlyTarget()
    if (alpineVersion === undefined || semver.satisfies(alpineVersion, nightlyTarget.alpineVersion)) {
      filteredTargets.push(nightlyTarget)
    }
  }

required: false
type: number
nightly-versions:
description: Versions to build again, use 'latest' to use the nightliest node version, for specific version use the following format 'nodeVersion,abiVersion,alpineVersion'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we already need to pull the ABI version for latest anyway, should it just always be pulled so that it doesn't need to be specified by the user?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, should this be nightly-version since it only contains a single version?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this could be combined with max-node-version too, since they are somewhat in conflict.

Copy link
Author

@pabloerhard pabloerhard Nov 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

min-node-versions for the most part is only used to filter the already existing node targets, after that if the env for nightly is set then it adds it into the targets array, but it never interact with the constraint that min-node-version adds.

Copy link
Author

@pabloerhard pabloerhard Nov 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the latest thing, we not only need to pull the ABI version but also the full nightly version id which is later on used as the target. If we were to not give the option of the user specifying a version then we would not only default to only the latest nightly but would have to always do a fetch.

@pabloerhard pabloerhard changed the title Pabloerhard/nightly builds Pre-builds for nightly node Nov 14, 2025
@pabloerhard pabloerhard requested a review from rochdev November 24, 2025 16:45
@pabloerhard pabloerhard marked this pull request as ready for review November 26, 2025 16:21
@pabloerhard pabloerhard requested a review from a team as a code owner November 26, 2025 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants