Skip to content

Fix CI workflows: migrate from npm to pnpm for monorepo compatibility - #24

Merged
hotlong merged 2 commits into
mainfrom
copilot/update-action-step-logs
Jan 27, 2026
Merged

hotlong merged 2 commits into
mainfrom
copilot/update-action-step-logs

Conversation

Copilot AI commented Jan 27, 2026 •

Copy link
Copy Markdown
Contributor

Description

CI workflows failing with EUNSUPPORTEDPROTOCOL error. Repository uses pnpm monorepo with workspace:* dependencies, but workflows configured for npm. npm doesn't support workspace protocol.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • CI/CD update

Related Issues

Related to https://github.com/hotcrm/hotcrm/actions/runs/21393474276/job/61589426880

Changes Made

.github/workflows/code-quality.yml

  • Add pnpm/action-setup@v4 with version 9
  • Switch cache: npm → pnpm
  • Replace npm ci → pnpm install --frozen-lockfile
  • Update all npm run → pnpm run

.github/workflows/release.yml

  • Add pnpm/action-setup@v4 with version 9
  • Switch cache: npm → pnpm
  • Replace npm ci → pnpm install --frozen-lockfile
  • Update all npm run → pnpm run
  • Archive includes pnpm-lock.yaml and pnpm-workspace.yaml instead of package-lock.json

Aligns with existing ci.yml which already uses pnpm.

Testing

  • Unit tests pass (npm test)
  • Linting passes (npm run lint)
  • Build succeeds (npm run build)
  • Manual testing completed
  • New tests added (if applicable)

Screenshots

N/A - Workflow configuration changes only

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • 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
  • Any dependent changes have been merged and published

Additional Notes

Package manager mismatch only affects CI workflows. Local development already uses pnpm per package.json engines requirement (pnpm>=9.0.0).

Original prompt

引用: https://github.com/hotcrm/hotcrm/actions/runs/21393474276/job/61589426880#step:4:1


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@hotlong
hotlong changed the base branch from copilot/upgrade-kernel-protocol-version to main January 27, 2026 11:01
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Update action step logs for better clarity Fix CI workflows: migrate from npm to pnpm for monorepo compatibility Jan 27, 2026
Copilot AI requested a review from hotlong January 27, 2026 11:05
@hotlong
hotlong marked this pull request as ready for review January 27, 2026 11:09
Copilot AI review requested due to automatic review settings January 27, 2026 11:09
@hotlong
hotlong merged commit ead4109 into main Jan 27, 2026
3 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes failing CI workflows caused by a package manager mismatch. The repository uses pnpm with workspace protocol dependencies, but two workflows (code-quality.yml and release.yml) were still configured for npm, causing EUNSUPPORTEDPROTOCOL errors. The changes migrate these workflows from npm to pnpm, aligning them with the existing ci.yml workflow and the package.json engines requirement.

Changes:

  • Migrated .github/workflows/code-quality.yml from npm to pnpm
  • Migrated .github/workflows/release.yml from npm to pnpm, including updating the release archive to bundle pnpm lockfiles instead of npm lockfiles

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/code-quality.yml Added pnpm setup step, updated cache and all package manager commands from npm to pnpm
.github/workflows/release.yml Added pnpm setup step, updated cache, all package manager commands from npm to pnpm, and updated release archive to include pnpm-lock.yaml and pnpm-workspace.yaml instead of package-lock.json

Comment on lines +43 to +44
pnpm-lock.yaml \
pnpm-workspace.yaml \

Copilot AI Jan 27, 2026

Copy link

Choose a reason for hiding this comment

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

The release archive now correctly includes pnpm-lock.yaml and pnpm-workspace.yaml instead of package-lock.json. However, the .github/labeler.yml file still references package-lock.json in line 10 and should be updated to include pnpm-lock.yaml and pnpm-workspace.yaml for the dependencies label to trigger correctly. Consider updating that file in a follow-up or this PR.

Copilot uses AI. Check for mistakes.
This was referenced Sep 16, 2026
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.

3 participants