From 4689775a1f1d477f29a348baae8092b145dfd648 Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Thu, 18 Sep 2025 17:44:06 +0100 Subject: [PATCH] chore: Skip static file copy if not required (#23903) * chore: Skip static file copy if not required * feat: Replace MD5 hash checks with Turborepo caching for static file copying - Add copy-app-store-static Turborepo task with proper inputs/outputs - Remove manual MD5 hash calculation logic that was causing performance issues - Update package.json scripts to use Turborepo task - Addresses Keith's feedback about using Turborepo cache instead of manual checks Co-Authored-By: alex@cal.com * fix: Add copy-app-store-static script to package.json for Turborepo task execution - Add missing script definition in apps/web/package.json - Enables Turborepo to properly execute the static file copying task - Fixes 'No tasks were executed' issue by providing the command to run Co-Authored-By: alex@cal.com * fix: Remove skipped jobs from required check failure condition - Allow conditional E2E jobs to be skipped without failing the required check - Maintain failure detection for actual job failures and cancellations - Apply fix consistently to both pr.yml and all-checks.yml workflows Co-Authored-By: alex@cal.com * Revert "fix: Remove skipped jobs from required check failure condition" This reverts commit 429f0506d009eaae7fa88be6db077681d5124f2a. * Only write new logs --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Keith Williams --- apps/web/package.json | 7 ++++--- apps/web/scripts/copy-app-store-static.js | 2 +- turbo.json | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index 44c2a4d4ec..5e8e97396b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -7,7 +7,7 @@ "analyze:server": "BUNDLE_ANALYZE=server next build", "analyze:browser": "BUNDLE_ANALYZE=browser next build", "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next", - "dev": "yarn copy-static && next dev --turbopack", + "dev": "turbo run copy-app-store-static && next dev --turbopack", "dev:scan": "yarn dev & npx --yes react-scan@latest localhost:3000", "dev:cron": "npx tsx cron-tester.ts", "dev-https": "NODE_TLS_REJECT_UNAUTHORIZED=0 next dev --experimental-https", @@ -16,8 +16,9 @@ "type-check": "tsc --pretty --noEmit", "type-check:ci": "tsc-absolute --pretty --noEmit", "sentry:release": "NODE_OPTIONS='--max-old-space-size=6144' node scripts/create-sentry-release.js", - "copy-static": "node scripts/copy-app-store-static.js", - "build": "yarn copy-static && next build && yarn sentry:release", + "copy-static": "turbo run copy-app-store-static", + "copy-app-store-static": "node scripts/copy-app-store-static.js", + "build": "turbo run copy-app-store-static && next build && yarn sentry:release", "start": "next start", "lint": "eslint . --ignore-path .gitignore", "lint:fix": "eslint . --ext .ts,.js,.tsx,.jsx --fix", diff --git a/apps/web/scripts/copy-app-store-static.js b/apps/web/scripts/copy-app-store-static.js index 440638fd54..68d74babaa 100644 --- a/apps/web/scripts/copy-app-store-static.js +++ b/apps/web/scripts/copy-app-store-static.js @@ -20,7 +20,7 @@ const copyAppStoreStatic = () => { fs.mkdirSync(destDir, { recursive: true }); } - // Copy file to destination + // Copy file to destination (Turborepo caching handles change detection) const destPath = path.join(destDir, fileName); fs.copyFileSync(file, destPath); console.log(`Copied ${file} to ${destPath}`); diff --git a/turbo.json b/turbo.json index d6301c1d1d..354a54b469 100644 --- a/turbo.json +++ b/turbo.json @@ -283,6 +283,11 @@ "_CAL_INTERNAL_PAST_BOOKING_RESCHEDULE_CHANGE_TEAM_IDS" ], "tasks": { + "@calcom/web#copy-app-store-static": { + "inputs": ["../../packages/app-store/**/static/**/*"], + "outputLogs": "new-only", + "outputs": ["public/app-store/**"] + }, "@calcom/prisma#build": { "cache": false, "dependsOn": ["post-install"]