Skip to content

Commit 445f602

Browse files
committed
fix(ci): remove CLI build from build-deps job in SEA workflow
Root cause: build-deps job was trying to build CLI package before WASM assets were available, causing yoga.wasm not found error. Issue flow: 1. build-deps job runs first - Builds bootstrap, socket, CLI packages - CLI build requires yoga.wasm (not available yet!) - ERROR: yoga.wasm not found 2. build-sea job runs second - Restores WASM caches (yoga.wasm NOW available) - But build-deps already failed! Fix: - Remove CLI build from build-deps job - CLI is built in build-sea job AFTER WASM caches restored - Update cache key to build-deps-sea (only bootstrap/socket) - Remove CLI from artifact paths Flow after fix: 1. build-deps: Build bootstrap + socket only (no WASM needed) 2. build-sea: Restore WASM caches, THEN build CLI + SEA binary This ensures CLI build happens when all dependencies are available.
1 parent 9173f2a commit 445f602

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

.github/workflows/build-sea.yml

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
id: deps-cache-key
5454
shell: bash
5555
run: |
56-
HASH=$(find packages/bootstrap packages/socket packages/cli -type f \( -name "*.mts" -o -name "*.ts" -o -name "*.mjs" -o -name "*.js" -o -name "*.json" \) ! -path "*/node_modules/*" ! -path "*/dist/*" ! -path "*/build/*" | sort | xargs sha256sum | sha256sum | cut -d' ' -f1)
56+
HASH=$(find packages/bootstrap packages/socket -type f \( -name "*.mts" -o -name "*.ts" -o -name "*.mjs" -o -name "*.js" -o -name "*.json" \) ! -path "*/node_modules/*" ! -path "*/dist/*" ! -path "*/build/*" | sort | xargs sha256sum | sha256sum | cut -d' ' -f1)
5757
echo "hash=$HASH" >> $GITHUB_OUTPUT
5858
5959
- name: Restore build-deps cache
@@ -63,10 +63,8 @@ jobs:
6363
path: |
6464
packages/bootstrap/dist/
6565
packages/socket/dist/
66-
packages/cli/dist/
67-
packages/cli/build/
68-
key: build-deps-${{ steps.deps-cache-key.outputs.hash }}
69-
restore-keys: build-deps-
66+
key: build-deps-sea-${{ steps.deps-cache-key.outputs.hash }}
67+
restore-keys: build-deps-sea-
7068

7169
- name: Build bootstrap package
7270
if: steps.deps-cache.outputs.cache-hit != 'true'
@@ -76,19 +74,13 @@ jobs:
7674
if: steps.deps-cache.outputs.cache-hit != 'true'
7775
run: pnpm --filter socket run build
7876

79-
- name: Build CLI package
80-
if: steps.deps-cache.outputs.cache-hit != 'true'
81-
run: pnpm --filter @socketsecurity/cli run build
82-
8377
- name: Upload build artifacts
8478
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
8579
with:
8680
name: build-deps-${{ github.sha }}
8781
path: |
8882
packages/bootstrap/dist/
8983
packages/socket/dist/
90-
packages/cli/dist/
91-
packages/cli/build/
9284
retention-days: 1
9385

9486
build-sea:
@@ -146,16 +138,15 @@ jobs:
146138
run: |
147139
echo "=== Verifying downloaded build artifacts ==="
148140
echo "Directory structure after download:"
149-
find bootstrap socket cli -maxdepth 3 -type f -name "*.js" -o -name "*.mjs" 2>/dev/null | head -20 || echo "No files found at root"
150-
find packages/bootstrap packages/socket packages/cli -maxdepth 3 -type f -name "*.js" -o -name "*.mjs" 2>/dev/null | head -20 || echo "No files found in packages/"
141+
find bootstrap socket -maxdepth 3 -type f -name "*.js" -o -name "*.mjs" 2>/dev/null | head -20 || echo "No files found at root"
142+
find packages/bootstrap packages/socket -maxdepth 3 -type f -name "*.js" -o -name "*.mjs" 2>/dev/null | head -20 || echo "No files found in packages/"
151143
152144
# Check both possible locations and move if needed
153145
if [ -f bootstrap/dist/bootstrap-npm.js ]; then
154146
echo "✓ Artifacts found at root level, moving to packages/"
155-
mkdir -p packages/bootstrap/dist packages/socket/dist packages/cli/dist
147+
mkdir -p packages/bootstrap/dist packages/socket/dist
156148
mv bootstrap/dist/* packages/bootstrap/dist/ 2>/dev/null || true
157149
mv socket/dist/* packages/socket/dist/ 2>/dev/null || true
158-
mv cli/dist/* packages/cli/dist/ 2>/dev/null || true
159150
elif [ -f packages/bootstrap/dist/bootstrap-npm.js ]; then
160151
echo "✓ Artifacts already in correct location"
161152
else
@@ -168,7 +159,6 @@ jobs:
168159
echo "Final verification:"
169160
ls -lh packages/bootstrap/dist/bootstrap-npm.js && echo "✓ bootstrap-npm.js present" || (echo "❌ bootstrap-npm.js missing" && exit 1)
170161
ls -lh packages/socket/dist/index.mjs && echo "✓ socket package present" || (echo "❌ socket package missing" && exit 1)
171-
ls -lh packages/cli/dist/cli.mjs && echo "✓ CLI package present" || (echo "❌ CLI package missing" && exit 1)
172162
173163
echo "✓ All build artifacts verified and in correct location"
174164

0 commit comments

Comments
 (0)