Skip to content

ci: run prebuilds on every pull request - #29

Closed
erunion wants to merge 2 commits into
erunion/fix-node24-prebuild-cxx20-a34ffrom
erunion/ci-build-workflow-a34f
Closed

erunion wants to merge 2 commits into
erunion/fix-node24-prebuild-cxx20-a34ffrom
erunion/ci-build-workflow-a34f

Conversation

@erunion

@erunion erunion commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Problem

Native prebuilds only ran inside the publish workflow, on v* tags and manual dispatch. A pull request could merge without ever compiling the release binaries, which is how the Node 24 macOS prebuild failure showed up only at release time.

The Actions tab also listed the workflows by filename (.github/workflows/publish.yml, .github/workflows/tests.yml) because they had no name.

Change

Prebuild jobs now live in .github/workflows/build.yml (name: Build). That workflow runs on every pull request and on pushes to master and backport/*. It still builds the same matrix: glibc and macOS prebuilds for Node 22, 24, and 26, plus the musl images.

Those CI runs compile and then discard the binaries. They do not upload artifacts. Pull request prebuilds use the same artifact names as a release (prebuild-macOS-ARM64-node24 and so on). Keeping them in artifact storage would let a later download-by-name, including a fork pull request, be picked up as the release binaries.

.github/workflows/publish.yml (name: Publish) calls Build with upload-artifacts: true on v* tags and workflow_dispatch, then downloads the artifacts from that run and publishes. The publish steps are otherwise unchanged.

.github/workflows/tests.yml is named Tests. Its jobs and triggers are unchanged.

Open in Web Open in Cursor 

Move the native prebuild jobs into a Build workflow that runs on every
pull request and on master and backport pushes. Publish calls that
workflow for release tags, then publishes the artifacts. Name the Build,
Publish, and Tests workflows so they show up in the Actions list.

Co-authored-by: Jon Ursenbach <erunion@users.noreply.github.com>
@greptile-apps

greptile-apps Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] This PR appears safe to merge.

Reviews (1) · Last reviewed commit: "ci: run prebuilds on pull requests" · Reviewed by Greptile

Pull request and branch builds compile the native binaries and discard
them. Publish opts in to artifact upload, so a release cannot pick up a
prebuild produced by another run.

Co-authored-by: Jon Ursenbach <erunion@users.noreply.github.com>
@erunion
erunion added this pull request to stack #30 October 8, 2026 22:43
@erunion erunion closed this Oct 8, 2026
@erunion
erunion deleted the erunion/ci-build-workflow-a34f branch October 8, 2026 23:02
An error occurred while trying to automatically change base from erunion/fix-node24-prebuild-cxx20-a34f to master October 9, 2026 01:23
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