Skip to content

feat(NO-JIRA): add pnpm support to shared frontend workflows#250

Open
bobobowis wants to merge 2 commits into
mainfrom
feat/pnpm-support-shared-frontend-workflows
Open

feat(NO-JIRA): add pnpm support to shared frontend workflows#250
bobobowis wants to merge 2 commits into
mainfrom
feat/pnpm-support-shared-frontend-workflows

Conversation

@bobobowis

@bobobowis bobobowis commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Overview

Jira: NOJIRA-1

Extends shared reusable frontend workflows and setup-node-with-cache to support pnpm-based repos alongside existing Yarn consumers. First consumer: admin-home.

All changes are additive — Yarn behavior is untouched. Repos opt in via package-manager: pnpm. pnpm callers pass all commands explicitly (no dynamic defaults).

Changes

  • Add package-manager input (yarn|pnpm, default: yarn) to setup-node-with-cache, frontend-pr-workflow, frontend-deploy-workflow, sonarcloud-scan, and the three run-cypress-*/run-playwright-visual shared-actions
  • Install pnpm via pnpm/action-setup@v4 (skipped when asdf manages it)
  • Branch all PM-specific logic: cache paths, cache key (pnpm-lock.yaml), integrity check (.modules.yaml vs .yarn-integrity), install command (pnpm install --frozen-lockfile), and postinstall step
  • pnpm cache key prefix pnpm- isolates from yarn caches — no cross-PM cache pollution
  • Fix asdf reshim: asdf reshim pnpm when package-manager: pnpm, asdf reshim yarn otherwise
  • Clarify cache-mode input description to "package manager cache" across all files
  • Update README and CACHE-STRATEGY-GUIDE with pnpm cache mode docs

Backward compatibility

Zero changes required from existing Yarn callers — all new inputs default to yarn.

How to use (pnpm repo)

uses: Typeform/.github/.github/workflows/frontend-pr-workflow.yml@v1
with:
  package-manager: 'pnpm'
  cache-mode: 'node_modules-only'   # or 'full' for pnpm workspaces
  build-command: 'pnpm run dist:preview'
  clean-command: 'pnpm run clean'
  deploy-command: 'pnpm run deploy:preview'
  # ... all other commands passed explicitly

@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch 2 times, most recently from a6130a9 to 88da721 Compare July 7, 2026 14:39
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch from 88da721 to 9bb7563 Compare July 7, 2026 14:46
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
Comment thread .github/workflows/sonarcloud-scan.yml Fixed
@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch 4 times, most recently from 5165e31 to 4cfcec5 Compare July 8, 2026 12:21
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch 2 times, most recently from 3e44a81 to 8ea430b Compare July 8, 2026 13:56
Comment thread .github/workflows/frontend-deploy-workflow.yml Fixed
Comment thread .github/workflows/frontend-pr-workflow.yml Fixed
@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch 4 times, most recently from 4f28212 to e7eac0d Compare July 8, 2026 14:52

- name: Setup Node with Cache
uses: Typeform/.github/shared-actions/setup-node-with-cache@v1
uses: Typeform/.github/shared-actions/setup-node-with-cache@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Node with Cache
uses: Typeform/.github/shared-actions/setup-node-with-cache@v1
uses: Typeform/.github/shared-actions/setup-node-with-cache@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Node with Cache
uses: Typeform/.github/shared-actions/setup-node-with-cache@v1
uses: Typeform/.github/shared-actions/setup-node-with-cache@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

steps:
- name: Run Cypress Functional Tests
uses: Typeform/.github/shared-actions/run-cypress-functional@v1
uses: Typeform/.github/shared-actions/run-cypress-functional@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

steps:
- name: Run Cypress Visual Tests
uses: Typeform/.github/shared-actions/run-cypress-visual@v1
uses: Typeform/.github/shared-actions/run-cypress-visual@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Node with Cache
uses: Typeform/.github/shared-actions/setup-node-with-cache@v1
uses: Typeform/.github/shared-actions/setup-node-with-cache@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

steps:
- name: Run Cypress Functional Tests
uses: Typeform/.github/shared-actions/run-cypress-functional@v1
uses: Typeform/.github/shared-actions/run-cypress-functional@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

steps:
- name: Run Playwright Visual Tests
uses: Typeform/.github/shared-actions/run-playwright-visual@v1
uses: Typeform/.github/shared-actions/run-playwright-visual@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

steps:
- name: Run Cypress Visual Tests
uses: Typeform/.github/shared-actions/run-cypress-visual@v1
uses: Typeform/.github/shared-actions/run-cypress-visual@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Node with Cache
uses: Typeform/.github/shared-actions/setup-node-with-cache@v1
uses: Typeform/.github/shared-actions/setup-node-with-cache@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch from e7eac0d to e4c0b43 Compare July 8, 2026 15:41
permissions:
contents: read
uses: Typeform/.github/.github/workflows/sonarcloud-scan.yml@v1
uses: Typeform/.github/.github/workflows/sonarcloud-scan.yml@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

permissions:
contents: read
uses: Typeform/.github/.github/workflows/sonarcloud-scan.yml@v1
uses: Typeform/.github/.github/workflows/sonarcloud-scan.yml@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch from e4c0b43 to ff9b7a8 Compare July 8, 2026 15:52
@bobobowis bobobowis force-pushed the feat/pnpm-support-shared-frontend-workflows branch from ff9b7a8 to 3c7315b Compare July 9, 2026 12:14
@sonarqubecloud

sonarqubecloud Bot commented Jul 9, 2026

Copy link
Copy Markdown


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

- name: Setup Playwright
if: inputs.integration-test-framework == 'playwright'
uses: Typeform/.github/shared-actions/setup-playwright@v1
uses: Typeform/.github/shared-actions/setup-playwright@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

- name: Setup Playwright
if: inputs.integration-test-framework == 'playwright'
uses: Typeform/.github/shared-actions/setup-playwright@v1
uses: Typeform/.github/shared-actions/setup-playwright@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics


- name: Setup Jarvis
uses: Typeform/.github/shared-actions/setup-jarvis@v1
uses: Typeform/.github/shared-actions/setup-jarvis@feat/pnpm-support-shared-frontend-workflows

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will be removed before merging. It was done to simplify testing scenarios in the following repos: admin-home, smart-forms-builder, paprikations, performance-analytics

@bobobowis bobobowis marked this pull request as ready for review July 9, 2026 13:17
@bobobowis bobobowis requested a review from a team as a code owner July 9, 2026 13:17
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