Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: pages
on:
push:
branches: [main, master]
workflow_run:
workflows: [Release]
types: [completed]
workflow_dispatch:

permissions:
Expand All @@ -16,12 +19,25 @@ concurrency:

jobs:
deploy:
if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
with:
ref: master
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
Comment on lines +31 to +34

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Install pnpm before enabling setup-node cache

This Pages job enables cache: pnpm before any step installs or enables pnpm, while pnpm's GitHub Actions CI example installs pnpm before actions/setup-node with cache: "pnpm" (https://pnpm.io/continuous-integration#github-actions). On hosted images where pnpm is only available after Corepack/pnpm setup, setup-node can fail while resolving the pnpm store before it ever reaches the later corepack enable step, preventing release-triggered Pages deploys; install/enable pnpm first or remove the cache option here.

Useful? React with 👍 / 👎.

- name: Enable pnpm
run: corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate release notes
run: pnpm generate:releases
- name: Stage the marketing site
Comment on lines +31 to 41

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

sed -n '1,120p' .github/workflows/pages.yml

Repository: misty-step/linejam

Length of output: 1299


🌐 Web query:

actions/setup-node pnpm cache requires pnpm on PATH store path corepack enable order

💡 Result:

When using actions/setup-node to cache pnpm dependencies (via cache: 'pnpm'), the action internally executes the command pnpm store path --silent to determine the cache directory [1]. Consequently, pnpm must be installed and available on the runner's PATH before the actions/setup-node step runs, or the caching process will fail [2][3][4]. If you are using Corepack to manage your pnpm installation, you must ensure it is enabled and the pnpm version is activated before the setup-node step [4]. The recommended workflow order is: 1. Setup Node.js (e.g., via actions/setup-node) [4]. 2. Enable and prepare Corepack (e.g., run: corepack enable && corepack prepare pnpm@latest --activate) [4][5]. 3. Configure the dependency cache using actions/setup-node with cache: 'pnpm' [4]. Alternatively, many users avoid potential ordering issues by using the pnpm/action-setup action before the actions/setup-node step [2][6][4]. This dedicated action ensures pnpm is correctly installed, configured, and added to the PATH, which satisfies the requirements for actions/setup-node to successfully locate the store path [2][4]. Recent versions of actions/setup-node (v5+) include improvements to handle cases where pnpm might be missing, often logging a warning and skipping the cache rather than causing a total workflow failure [7]. However, to reliably benefit from dependency caching, ensuring pnpm is correctly initialized on the PATH remains the best practice [4].

Citations:


🌐 Web query:

actions/setup-node v4 cache pnpm pnpm store path missing pnpm failure

💡 Result:

The error Path Validation Error: Path(s) specified in the action for caching do(es) not exist occurs in GitHub Actions when the caching mechanism (either in actions/setup-node or pnpm/action-setup) attempts to save a pnpm store directory that has not been created [1][2][3]. This commonly happens when the workflow job fails to execute a pnpm command (like pnpm install) that would otherwise generate the store directory, or when there is a mismatch between the expected store path and the actual location [1][2][4]. Common causes and solutions include: 1. No Install Step: If your workflow uses cache: 'pnpm' or equivalent but does not actually run pnpm install, the pnpm store is never initialized [1]. Because the post-job step attempts to cache a non-existent path, the job fails [1][2]. - Solution: Ensure pnpm install runs before the job ends [1], or remove the cache configuration if it is unnecessary for that specific job [1]. 2. Path Resolution Mismatch: Sometimes the action fails to correctly identify the path to the pnpm store [5][6]. This can happen if pnpm outputs unexpected logging (e.g., hooks warnings) when running pnpm store path [5][6]. - Solution: Set the environment variable loglevel=warn or loglevel=error in your.npmrc file to silence extra output that interferes with path resolution [5]. Alternatively, ensure you are using the latest version of your setup actions [5][7]. 3. Missing Directory: The caching action expects the directory to exist before it attempts to save it [2]. - Solution: You can explicitly create the directory if it is missing before the caching step triggers, or use a workaround to verify and create the directory if necessary [2]. 4. Version Compatibility: Differences between actions/setup-node and pnpm/action-setup versions can lead to path conflicts [3][6]. - Recommendation: If you encounter this after upgrading (e.g., to pnpm/action-setup v6), check GitHub issues for that specific version, as regressions in path resolution are occasionally reported [3]. Ensure your configuration aligns with the latest documentation, which often recommends using the cache built into pnpm/action-setup rather than layering multiple caching mechanisms [8][7].

Citations:


Move pnpm enablement before setup-node caching

actions/setup-node@v4 with cache: pnpm needs pnpm available when it resolves the store path, so corepack enable should run first or the job can fail.

Proposed fix
       steps:
       - uses: actions/checkout@v4
         with:
           ref: master
+      - name: Enable pnpm
+        run: corepack enable
       - uses: actions/setup-node@v4
         with:
           node-version: 22
           cache: pnpm
-      - name: Enable pnpm
-        run: corepack enable
       - name: Install dependencies
         run: pnpm install --frozen-lockfile
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- name: Enable pnpm
run: corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate release notes
run: pnpm generate:releases
- name: Stage the marketing site
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- name: Enable pnpm
run: corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate release notes
run: pnpm generate:releases
- name: Stage the marketing site
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/pages.yml around lines 31 - 41, The workflow currently
enables pnpm after actions/setup-node@v4 has already tried to configure pnpm
caching, which can break cache resolution. Update the Pages job so corepack
enable runs before setup-node, then keep the existing cache: pnpm configuration
and subsequent install/release steps unchanged; use the setup-node and Enable
pnpm steps as the anchors when reordering.

run: cp -RL site _site
- uses: actions/configure-pages@v5
Expand Down
28 changes: 25 additions & 3 deletions content/releases/manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
{
"latest": "0.1.0",
"versions": ["0.1.0"],
"generatedAt": "2026-01-25T00:06:17.994Z"
"latest": "1.15.1",
"versions": [
"1.15.1",
"1.15.0",
"1.14.0",
"1.13.0",
"1.12.0",
"1.11.0",
"1.10.0",
"1.9.1",
"1.9.0",
"1.8.0",
"1.7.0",
"1.6.0",
"1.5.0",
"1.4.0",
"1.3.0",
"1.2.0",
"1.1.3",
"1.1.2",
"1.1.1",
"1.1.0",
"0.1.0"
],
"generatedAt": "2026-07-08T02:04:19.235Z"
}
Loading