diff --git a/scripts/skip-build-base.mjs b/scripts/skip-build-base.mjs index 557008e5cff..d85d6a6aede 100644 --- a/scripts/skip-build-base.mjs +++ b/scripts/skip-build-base.mjs @@ -3,7 +3,7 @@ import { execSync } from 'child_process' const branchesToNeverBuild = ['i18n'] -export const shouldSkipBuild = (siteName, checkFolders = '../shared .') => { +export const shouldSkipBuild = (site, checkFolders = '../shared .') => { const branch = process.env.VERCEL_GIT_COMMIT_REF const commit = process.env.VERCEL_GIT_COMMIT_SHA const author = process.env.VERCEL_GIT_COMMIT_AUTHOR_LOGIN @@ -23,16 +23,32 @@ export const shouldSkipBuild = (siteName, checkFolders = '../shared .') => { process.exit(1) } - // Do not build dependabot PRs - if (author.toLowerCase().includes('ependabot')) { - console.log('🛑 Not building: Dependabot PR') + // Alwys build when explicitly requested + if (msg.includes('please-build')) { + console.log('✅ - Building: Commit message includes please-build') + process.exit(1) + } + + // Never build the sanity site unless explicitly requested + if (site === 'sanity') { + console.log( + "🛑 Not building: Sanity site. You need to include 'please-build' in your commit message to build this site" + ) process.exit(0) } - // Always build develop branch - if (branch === 'develop') { - console.log('✅ - Building: develop branch is always built') - process.exit(1) + // Never build the lab site unless explicitly requested + if (site === 'lab') { + console.log( + "🛑 Not building: Lab site. You need to include 'please-build' in your commit message to build this site" + ) + process.exit(0) + } + + // Do not build dependabot PRs + if (author.toLowerCase().includes('dependabot')) { + console.log('🛑 Not building: Dependabot PR') + process.exit(0) } // Do not build branches that should never be build @@ -47,6 +63,12 @@ export const shouldSkipBuild = (siteName, checkFolders = '../shared .') => { process.exit(0) } + // Always build develop branch + if (branch === 'develop') { + console.log('✅ - Building: develop branch is always built') + process.exit(1) + } + // Only build pull requests that made changes to the given site if (process.env.VERCEL_GIT_PULL_REQUEST_ID) { try { @@ -78,14 +100,14 @@ export const shouldSkipBuild = (siteName, checkFolders = '../shared .') => { `git diff --name-only $(git merge-base develop HEAD) HEAD -- ${checkFolders}` ).toString() if (changes) { - console.log(`✅ - ${siteName} Pull Request - Proceed to build`) + console.log(`✅ - ${site} Pull Request - Proceed to build`) process.exit(1) } } catch (e) { console.log(e) } - console.log(`🛑 - Pull Request made no changes to ${siteName} - Do not build`) + console.log(`🛑 - Pull Request made no changes to ${site} - Do not build`) process.exit(0) } diff --git a/sites/dev/skip_build.mjs b/sites/dev/skip_build.mjs index a19d8795a90..8142eba8190 100755 --- a/sites/dev/skip_build.mjs +++ b/sites/dev/skip_build.mjs @@ -1,3 +1,3 @@ import { shouldSkipBuild } from '../../scripts/skip-build-base.mjs' -shouldSkipBuild('Dev', '../shared . ../../markdown/dev') +shouldSkipBuild('dev', '../shared . ../../markdown/dev') diff --git a/sites/lab/skip_build.mjs b/sites/lab/skip_build.mjs index ef03f1382af..082d32abe88 100755 --- a/sites/lab/skip_build.mjs +++ b/sites/lab/skip_build.mjs @@ -8,4 +8,4 @@ const triggerFolders = [ '../../packages/core', ].join(' ') -shouldSkipBuild('Lab', triggerFolders) +shouldSkipBuild('lab', triggerFolders) diff --git a/sites/org/skip_build.mjs b/sites/org/skip_build.mjs index 3eb45dddaac..311f8bd90e6 100755 --- a/sites/org/skip_build.mjs +++ b/sites/org/skip_build.mjs @@ -1,3 +1,3 @@ import { shouldSkipBuild } from '../../scripts/skip-build-base.mjs' -shouldSkipBuild('Org', '../shared . ../../markdown/org') +shouldSkipBuild('org', '../shared . ../../markdown/org') diff --git a/sites/sanity/skip_build.mjs b/sites/sanity/skip_build.mjs index 5092aa0a105..a85d9f434e2 100755 --- a/sites/sanity/skip_build.mjs +++ b/sites/sanity/skip_build.mjs @@ -4,4 +4,4 @@ import process from 'node:process' // For now, never build CMS process.exit(0) -shouldSkipBuild('Sanity', '.') +shouldSkipBuild('sanity', '.')