Skip to content

chore(ci): upgrade to pnpm 12.4.2 with corepack and enhance PR preview workflow - #1979

Merged
ArtieReus merged 11 commits into
mainfrom
artie-test-pnpm-v12
Sep 18, 2026
Merged

ArtieReus merged 11 commits into
mainfrom
artie-test-pnpm-v12

Conversation

@ArtieReus

@ArtieReus ArtieReus commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR upgrades the monorepo to pnpm 12.4.2, eliminates hardcoded pnpm versions across all workflows and Dockerfiles using corepack, and adds label-based triggering for PR previews. This fixes QEMU segfault issues on arm64 Docker builds and establishes package.json as the single source of truth for pnpm version management.

Changes Made

Monorepo

  • Upgraded to pnpm@12.4.2 with integrity hash (via corepack)
  • Updated pnpm-lock.yaml for compatibility

CI Workflows

  • Updated all workflows to use package_json_file: package.json instead of hardcoded versions:
    • .github/workflows/ci-checks.yaml
    • .github/workflows/deploy-github-pages.yaml
    • .github/workflows/deploy-pr-preview.yaml
    • .github/workflows/release.yaml
  • Upgraded QEMU action from v4.2.0 to v4.4.0

Dockerfiles

  • Replaced npm i -g pnpm@X.X.X with corepack enable && corepack install:
    • apps/supernova/docker/Dockerfile
    • apps/greenhouse/docker/Dockerfile
    • docker/Dockerfile.dev
  • Docker images now automatically use pnpm version from package.json packageManager field

PR Preview Workflow Enhancement

  • Added ui-pr-preview label support for manual preview triggering
  • Automatic: Builds preview when ui-components or example files change
  • Manual: Add ui-pr-preview label to any PR to force-build both Storybook and Example app
  • Implemented with dedicated check-preview-label job for single source of truth

How the label trigger works:

  • Uses pull_request trigger with labeled event type (not pull_request_target)
  • This allows testing the workflow immediately on this PR (reads workflow from PR branch)
  • After merging to main, will work on all future PRs
  • The paths filter doesn't apply to labeled events, so the label works on any PR
  • To test: Remove and re-add the ui-pr-preview label to trigger the workflow

Why pnpm 12.4.2?

pnpm 12.0.0+ introduced a hardlink-first strategy that triggered QEMU segfaults on arm64 emulated builds. pnpm 12.4.1+ includes hardlink fallback fixes:

"Under packageImportMethod: auto and clone-or-copy, pnpm now copies files instead of failing when the filesystem refuses a hard link. This addresses issues on rootless containers."

Source: https://github.com/pnpm/pnpm/releases/tag/v12.4.1

Related Issues

Screenshots (if applicable)

N/A - Infrastructure changes only

Testing Instructions

  1. pnpm install
  2. pnpm build
  3. pnpm test
  4. Verify Docker builds work:
    docker build -f apps/supernova/docker/Dockerfile .
    docker build -f apps/greenhouse/docker/Dockerfile .
  5. Test PR preview label:
    • On this PR or any other PR, add the ui-pr-preview label
    • Verify Storybook and Example app previews are built and deployed

Checklist

  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have made corresponding changes to the documentation (if applicable).
  • My changes generate no new warnings or errors.
  • I have created a changeset for my changes.

PR Manifesto

Review the PR Manifesto for best practises.

Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
Copilot AI lite review requested due to automatic review settings September 17, 2026 14:24
@ArtieReus
ArtieReus requested a review from a team as a code owner September 17, 2026 14:24
@changeset-bot

changeset-bot Bot commented Sep 17, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7e80e9a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ArtieReus
ArtieReus marked this pull request as draft September 17, 2026 14:25
@ArtieReus ArtieReus changed the title Artie test pnpm v12 chore(ci): Artie test pnpm v12 Sep 17, 2026
Comment thread .github/workflows/test-docker-pnpm-12-upgrade.yaml Fixed
@ArtieReus ArtieReus changed the title chore(ci): Artie test pnpm v12 chore(ci): artie test pnpm v12 Sep 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The Docker compatibility workflow does not trigger for lockfile-only changes, allowing relevant Docker install inputs to bypass validation.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Updates the repository and CI workflows to use pnpm 12.4.2 while adding Docker compatibility testing for existing pnpm 11 Dockerfiles.

Changes:

  • Updates pnpm package-manager metadata and lockfile.
  • Migrates CI and deployment workflows to pnpm 12.4.2.
  • Adds multi-architecture Docker build validation.
File summaries
File Description
pnpm-lock.yaml Locks pnpm 12.4.2 metadata and packages.
package.json Updates the repository package manager.
.github/workflows/test-docker-pnpm-12-upgrade.yaml Adds Docker compatibility tests.
.github/workflows/release.yaml Uses pnpm 12 for releases.
.github/workflows/deploy-pr-preview.yaml Uses pnpm 12 for previews.
.github/workflows/deploy-github-pages.yaml Uses pnpm 12 for Pages deployment.
.github/workflows/ci-checks.yaml Uses pnpm 12 for CI jobs.
Review details

Files not reviewed (1)

  • pnpm-lock.yaml: Generated file
  • Files reviewed: 6/7 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/test-docker-pnpm-12-upgrade.yaml Outdated
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@ArtieReus ArtieReus self-assigned this Sep 18, 2026
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@ArtieReus ArtieReus changed the title chore(ci): artie test pnpm v12 chore(ci): upgrade to pnpm 12.4.2 and use package.json for version management Sep 18, 2026
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
Comment thread .github/workflows/test-docker-pnpm-12-upgrade.yaml Fixed
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@ArtieReus ArtieReus changed the title chore(ci): upgrade to pnpm 12.4.2 and use package.json for version management chore(ci): upgrade to pnpm 12.4.2 with corepack and enhance PR preview workflow Sep 18, 2026
@ArtieReus ArtieReus added greenhouse-pr-build Set this label to create a preview image which will automatically set the `greenhouse-pr-preview` ui-pr-preview Set this label to create a preview of ui-components and example app in github pages labels Sep 18, 2026
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@github-actions github-actions Bot added the greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. label Sep 18, 2026
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@github-actions github-actions Bot added greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. and removed greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. labels Sep 18, 2026
Signed-off-by: Arturo Reuschenbach Puncernau <reuschenbach@gmail.com>
@github-actions github-actions Bot removed the greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. label Sep 18, 2026
@github-actions github-actions Bot added the greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. label Sep 18, 2026
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-18 10:56 UTC

@ArtieReus
ArtieReus marked this pull request as ready for review September 18, 2026 10:40
@ArtieReus
ArtieReus merged commit cf05ac9 into main Sep 18, 2026
25 checks passed
@ArtieReus
ArtieReus deleted the artie-test-pnpm-v12 branch September 18, 2026 10:55
@github-actions github-actions Bot removed the greenhouse-pr-preview THIS LABEL IS SET AUTOMATICALLY. label Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

greenhouse-pr-build Set this label to create a preview image which will automatically set the `greenhouse-pr-preview` ui-pr-preview Set this label to create a preview of ui-components and example app in github pages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants