Skip to content
Open
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
26 changes: 26 additions & 0 deletions .github/actions/pnpm-lockfile-check/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Check PNPM Lockfile and Install Workspace Dependencies"
description: "Sets up pnpm and installs workspace dependencies with frozen lockfile check"
runs:
using: "composite"
steps:
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
shell: bash
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile --ignore-scripts"

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.

medium

Running pnpm install with --ignore-scripts locally can leave the local node_modules in an incomplete or unbuilt state (e.g., missing generated types, git hooks, or compiled native modules), which can break subsequent local development or testing. If the goal is to quickly update the lockfile without running scripts or installing full dependencies locally, using pnpm install --lockfile-only is a safer and faster alternative. Otherwise, a standard pnpm install should be recommended to ensure the local environment is fully set up.

          echo "    pnpm install --lockfile-only"

echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
22 changes: 1 addition & 21 deletions .github/actions/run-unit-tests/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,7 @@ runs:
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: ${{ inputs.node-version }}
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
shell: bash
- uses: ./.github/actions/pnpm-lockfile-check
- name: Cache Turborepo
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
Expand Down
21 changes: 1 addition & 20 deletions .github/workflows/bigtable-conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,7 @@ jobs:
with:
go-version: '>=1.20.2'
- run: chmod +x .kokoro/conformance.sh
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- run: pnpm --filter ...{handwritten/bigtable} run --if-present compile
- run: go version
- run: .kokoro/conformance.sh
21 changes: 1 addition & 20 deletions .github/workflows/continuous.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,7 @@ jobs:
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: ${{ matrix.node }}
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- run: node --version
- run: ci/run_conditional_tests.sh
name: Run unit tests
Expand Down
21 changes: 1 addition & 20 deletions .github/workflows/mandatory-conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,7 @@ jobs:
with:
go-version: '>=1.20.2'
- run: chmod +x .kokoro/mandatory-conformance.sh
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- run: pnpm --filter ...{handwritten/bigtable} run --if-present compile
- run: go version
- run: .kokoro/mandatory-conformance.sh
21 changes: 1 addition & 20 deletions .github/workflows/presubmit-bun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,7 @@ jobs:
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- name: Cache Turborepo
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
Expand Down
21 changes: 1 addition & 20 deletions .github/workflows/presubmit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,26 +48,7 @@ jobs:
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version: 24
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- name: Cache Turborepo
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
Expand Down
21 changes: 1 addition & 20 deletions .github/workflows/storage-conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,6 @@ jobs:
with:
node-version: 22
- run: node --version
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- name: Install Workspace Dependencies (Frozen Lockfile)
run: |
if ! pnpm install --frozen-lockfile --ignore-scripts; then
echo "::error title=PNPM Lockfile Out of Date::The pnpm-lock.yaml file is out of sync with workspace package.json dependencies."
echo ""
echo "===================================================================================================="
echo "❌ PNPM Lockfile Out of Date (ERR_PNPM_OUTDATED_LOCKFILE)"
echo ""
echo "One or more package.json files have changed or were merged without updating pnpm-lock.yaml."
echo ""
echo "To resolve this failure, please update the lockfile locally and commit the result:"
echo " pnpm install --no-frozen-lockfile"
echo " git add pnpm-lock.yaml"
echo " git commit -m \"chore: update pnpm-lock.yaml\""
echo " git push"
echo "===================================================================================================="
echo ""
exit 1
fi
- uses: ./.github/actions/pnpm-lockfile-check
- run: pnpm --filter ...{handwritten/storage} run --if-present compile
- run: cd handwritten/storage && pnpm run conformance-test
Loading