Fix deploy: filter out non-app packages from build matrix
Turbo's change detection includes shared packages like @homelab/db, which don't have Dockerfiles. Filter to only apps with a Dockerfile to prevent 'path not found' errors during docker build.
This commit is contained in:
@@ -20,7 +20,7 @@ jobs:
|
||||
- name: Determine changed apps
|
||||
id: changes
|
||||
run: |
|
||||
APPS=$(pnpm turbo build --filter='...[origin/main]' --dry-run=json | jq -r '[.packages[] | select(startswith("@homelab/")) | sub("@homelab/";"") ] | join(",")')
|
||||
APPS=$(pnpm turbo build --filter='...[origin/main]' --dry-run=json | jq -r '[.packages[] | select(startswith("@homelab/")) | sub("@homelab/";"") ] | join(",")' | tr ',' '\n' | while read app; do [ -f "apps/${app}/Dockerfile" ] && echo "$app"; done | paste -sd, -)
|
||||
echo "apps=$APPS" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Build and push images
|
||||
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
APPS="$INPUT"
|
||||
fi
|
||||
else
|
||||
APPS=$(pnpm turbo build --filter='...[HEAD~1]' --dry-run=json | jq -r '[.packages[] | select(startswith("@homelab/")) | sub("@homelab/";"") ] | join(",")')
|
||||
APPS=$(pnpm turbo build --filter='...[HEAD~1]' --dry-run=json | jq -r '[.packages[] | select(startswith("@homelab/")) | sub("@homelab/";"") ] | join(",")' | tr ',' '\n' | while read app; do [ -f "apps/${app}/Dockerfile" ] && echo "$app"; done | paste -sd, -)
|
||||
fi
|
||||
echo "apps=$APPS" >> "$GITHUB_OUTPUT"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user