fix: bun.lock is gitignored — use package.json only for Docker cache

bun.lock is in .gitignore so it doesn't exist after checkout.
Dockerfile and workflows now use package.json only for deps caching.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-23 06:52:27 -07:00
parent c44d8d486b
commit ce31cb1853
3 changed files with 10 additions and 16 deletions
+1 -9
View File
@@ -8,14 +8,6 @@ on:
branches: [main]
paths:
- '.github/docker/Dockerfile.ci'
- 'bun.lock'
- 'package.json'
# Build on PRs that change the image (so first PR run has it)
pull_request:
branches: [main]
paths:
- '.github/docker/Dockerfile.ci'
- 'bun.lock'
- 'package.json'
# Manual trigger
workflow_dispatch:
@@ -30,7 +22,7 @@ jobs:
- uses: actions/checkout@v4
# Copy lockfile + package.json into Docker build context
- run: cp bun.lock package.json .github/docker/
- run: cp package.json .github/docker/
- uses: docker/login-action@v3
with:
+4 -4
View File
@@ -23,7 +23,7 @@ jobs:
- uses: actions/checkout@v4
- id: meta
run: echo "tag=${{ env.IMAGE }}:${{ hashFiles('.github/docker/Dockerfile.ci', 'bun.lock', 'package.json') }}" >> "$GITHUB_OUTPUT"
run: echo "tag=${{ env.IMAGE }}:${{ hashFiles('.github/docker/Dockerfile.ci', 'package.json') }}" >> "$GITHUB_OUTPUT"
- uses: docker/login-action@v3
with:
@@ -41,7 +41,7 @@ jobs:
fi
- if: steps.check.outputs.exists == 'false'
run: cp bun.lock package.json .github/docker/
run: cp package.json .github/docker/
- if: steps.check.outputs.exists == 'false'
uses: docker/build-push-action@v6
@@ -96,10 +96,10 @@ jobs:
fetch-depth: 0
# Restore pre-installed node_modules from Docker image (~1s vs ~15s install)
# If lockfile changed since image was built, fall back to fresh install
# If package.json changed since image was built, fall back to fresh install
- name: Restore deps
run: |
if diff -q /opt/node_modules_cache/.package-lock.json package.json >/dev/null 2>&1; then
if [ -d /opt/node_modules_cache ] && diff -q /opt/node_modules_cache/.package.json package.json >/dev/null 2>&1; then
cp -al /opt/node_modules_cache node_modules
else
bun install