From b8eccc6d7aee3f88db24cc13b537dc0ecd0a41bd Mon Sep 17 00:00:00 2001 From: fkwp Date: Thu, 5 Jun 2025 12:16:22 +0200 Subject: [PATCH 01/10] use vite minify depending on vite mode --- package.json | 1 + vite.config.js | 1 + 2 files changed, 2 insertions(+) diff --git a/package.json b/package.json index 3dc634f8..89a7e5ca 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dev:embedded": "vite --config vite-embedded.config.js", "build": "yarn build:full", "build:full": "NODE_OPTIONS=--max-old-space-size=16384 vite build", + "build:full:development": "NODE_OPTIONS=--max-old-space-size=16384 NODE_ENV=development vite build --mode development", "build:embedded": "yarn build:full --config vite-embedded.config.js", "serve": "vite preview", "prettier:check": "prettier -c .", diff --git a/vite.config.js b/vite.config.js index 5b800f7a..08ed54bf 100644 --- a/vite.config.js +++ b/vite.config.js @@ -89,6 +89,7 @@ export default defineConfig(({ mode, packageType }) => { }, }, build: { + minify: mode === 'production' ? true : false, sourcemap: true, rollupOptions: { output: { From 97d548ee3a2d9d4be1bc740afad66b4a0d79bdb8 Mon Sep 17 00:00:00 2001 From: fkwp Date: Thu, 5 Jun 2025 23:51:02 +0200 Subject: [PATCH 02/10] add build_mode input and use it in run commands --- .github/workflows/build-element-call.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-element-call.yaml b/.github/workflows/build-element-call.yaml index fc5eee02..a3996ce6 100644 --- a/.github/workflows/build-element-call.yaml +++ b/.github/workflows/build-element-call.yaml @@ -9,6 +9,11 @@ on: type: string # This would ideally be a `choice` type, but that isn't supported yet description: The package type to be built. Must be one of 'full' or 'embedded' required: true + build_mode: + type: string # This would ideally be a `choice` type, but that isn't supported yet + description: The build mode for vite. Must be either 'development' or 'production' + required: true + default: production secrets: SENTRY_ORG: required: true @@ -39,7 +44,7 @@ jobs: run: "yarn install --immutable" - name: Build full version if: ${{ inputs.package == 'full' }} - run: "yarn run build:full" + run: ${{ format('yarn run build:full:{0}', inputs.build_mode) }} env: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} @@ -50,7 +55,7 @@ jobs: NODE_OPTIONS: "--max-old-space-size=4096" - name: Build embedded if: ${{ inputs.package == 'embedded' }} - run: "yarn run build:embedded" + run: ${{ format('yarn run build:embedded:{0}', inputs.build_mode) }} env: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} From 775e110ca363ccfc98f507336997645431949bca Mon Sep 17 00:00:00 2001 From: fkwp Date: Thu, 5 Jun 2025 23:58:24 +0200 Subject: [PATCH 03/10] Add build_mode to inputs of build_full_element_call. derive build_mode from PR label 'development build' --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 47f956c7..e2816432 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,6 +14,7 @@ jobs: with: package: full vite_app_version: ${{ github.event.release.tag_name || github.sha }} + build_mode: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'development build') && 'development' || 'production' }} secrets: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} From b88bce522006136e33da42616c0d8aafb5a78803 Mon Sep 17 00:00:00 2001 From: fkwp Date: Thu, 5 Jun 2025 23:58:51 +0200 Subject: [PATCH 04/10] add production and developt build scripts to package.json --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 89a7e5ca..9d253fd2 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,11 @@ "dev:embedded": "vite --config vite-embedded.config.js", "build": "yarn build:full", "build:full": "NODE_OPTIONS=--max-old-space-size=16384 vite build", + "build:full:production": "yarn build:full", "build:full:development": "NODE_OPTIONS=--max-old-space-size=16384 NODE_ENV=development vite build --mode development", "build:embedded": "yarn build:full --config vite-embedded.config.js", + "build:embedded:production": "build:embedded", + "build:embedded:development": "NODE_ENV=development yarn build:full --config vite-embedded.config.js --mode development", "serve": "vite preview", "prettier:check": "prettier -c .", "prettier:format": "prettier -w .", From e07c7c864b33820ea1237cc46c5ffd07b6356413 Mon Sep 17 00:00:00 2001 From: fkwp Date: Fri, 6 Jun 2025 00:02:19 +0200 Subject: [PATCH 05/10] prettier --- vite.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vite.config.js b/vite.config.js index 08ed54bf..5fe3a99b 100644 --- a/vite.config.js +++ b/vite.config.js @@ -89,7 +89,7 @@ export default defineConfig(({ mode, packageType }) => { }, }, build: { - minify: mode === 'production' ? true : false, + minify: mode === "production" ? true : false, sourcemap: true, rollupOptions: { output: { From 31185ae3653ac65e39e4988c9abc498a8a3f87cd Mon Sep 17 00:00:00 2001 From: fkwp Date: Fri, 6 Jun 2025 00:13:49 +0200 Subject: [PATCH 06/10] make build_mode optional --- .github/workflows/build-element-call.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-element-call.yaml b/.github/workflows/build-element-call.yaml index a3996ce6..6a65b74d 100644 --- a/.github/workflows/build-element-call.yaml +++ b/.github/workflows/build-element-call.yaml @@ -12,7 +12,7 @@ on: build_mode: type: string # This would ideally be a `choice` type, but that isn't supported yet description: The build mode for vite. Must be either 'development' or 'production' - required: true + required: false default: production secrets: SENTRY_ORG: From d47e579994982c0de62f57757c96022cec07033c Mon Sep 17 00:00:00 2001 From: fkwp Date: Fri, 6 Jun 2025 00:20:11 +0200 Subject: [PATCH 07/10] add build_mode also to build_embedded_element_call --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e2816432..6aa5fae6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -62,6 +62,7 @@ jobs: with: package: embedded vite_app_version: ${{ github.event.release.tag_name || github.sha }} + build_mode: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'development build') && 'development' || 'production' }} secrets: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} From 6f9adfe3e81668fc33e288bf40d430ffdd1d52f9 Mon Sep 17 00:00:00 2001 From: fkwp Date: Fri, 6 Jun 2025 00:21:23 +0200 Subject: [PATCH 08/10] fix: add misssing yarn --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d253fd2..a1e698bf 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "build:full:production": "yarn build:full", "build:full:development": "NODE_OPTIONS=--max-old-space-size=16384 NODE_ENV=development vite build --mode development", "build:embedded": "yarn build:full --config vite-embedded.config.js", - "build:embedded:production": "build:embedded", + "build:embedded:production": "yarn build:embedded", "build:embedded:development": "NODE_ENV=development yarn build:full --config vite-embedded.config.js --mode development", "serve": "vite preview", "prettier:check": "prettier -c .", From 3d47609cff85782caae983cbfb6ac8e42107e4c5 Mon Sep 17 00:00:00 2001 From: fkwp Date: Tue, 10 Jun 2025 18:17:16 +0200 Subject: [PATCH 09/10] Since we are now using templating anyhow we can also combine full and embedded build into one step --- .github/workflows/build-element-call.yaml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-element-call.yaml b/.github/workflows/build-element-call.yaml index 6a65b74d..49542e5d 100644 --- a/.github/workflows/build-element-call.yaml +++ b/.github/workflows/build-element-call.yaml @@ -42,20 +42,8 @@ jobs: node-version-file: ".node-version" - name: Install dependencies run: "yarn install --immutable" - - name: Build full version - if: ${{ inputs.package == 'full' }} - run: ${{ format('yarn run build:full:{0}', inputs.build_mode) }} - env: - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - SENTRY_URL: ${{ secrets.SENTRY_URL }} - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - VITE_APP_VERSION: ${{ inputs.vite_app_version }} - NODE_OPTIONS: "--max-old-space-size=4096" - - name: Build embedded - if: ${{ inputs.package == 'embedded' }} - run: ${{ format('yarn run build:embedded:{0}', inputs.build_mode) }} + - name: Build Element Call + run: ${{ format('yarn run build:{0}:{1}', inputs.package, inputs.build_mode) }} env: SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} From 0bf5c4a8350745e071ee065d4c9e58775692aa01 Mon Sep 17 00:00:00 2001 From: fkwp Date: Wed, 11 Jun 2025 16:54:10 +0200 Subject: [PATCH 10/10] simplify package.json scripts and remove NODE_ENV variables since we dont use them --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a1e698bf..181e2513 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "build": "yarn build:full", "build:full": "NODE_OPTIONS=--max-old-space-size=16384 vite build", "build:full:production": "yarn build:full", - "build:full:development": "NODE_OPTIONS=--max-old-space-size=16384 NODE_ENV=development vite build --mode development", + "build:full:development": "yarn build:full --mode development", "build:embedded": "yarn build:full --config vite-embedded.config.js", "build:embedded:production": "yarn build:embedded", - "build:embedded:development": "NODE_ENV=development yarn build:full --config vite-embedded.config.js --mode development", + "build:embedded:development": "yarn build:embedded --mode development", "serve": "vite preview", "prettier:check": "prettier -c .", "prettier:format": "prettier -w .",