From c238aa8774da2aa3aa99e3349b4fc7b4c3cba635 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 15:50:21 -0400 Subject: [PATCH 1/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index e54574f3d7..60289dc128 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -34,7 +34,7 @@ jobs: fi build: - runs-on: self-hosted + runs-on: ubuntu-latest needs: determine-environment environment: ${{ needs.determine-environment.outputs.environment }} permissions: From dd85a97c8a53e059e1e9efe7917d9296a46b9aed Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 16:51:10 -0400 Subject: [PATCH 2/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 31 +++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 60289dc128..8e41d3c799 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -50,13 +50,19 @@ jobs: with: node-version: '22.x' + # ✅ START OF THE FIX + - name: Get npm cache directory + id: npm-cache-dir + run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT + - name: Cache Node.js dependencies uses: actions/cache@v3 with: - path: ~/.npm + path: ${{ steps.npm-cache-dir.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- + # ✅ END OF THE FIX - name: Cache Docusaurus build uses: actions/cache@v3 @@ -101,7 +107,6 @@ jobs: runs-on: ubuntu-latest needs: [build, determine-environment] environment: ${{ needs.determine-environment.outputs.environment }} - steps: - name: Download build artifact uses: actions/download-artifact@v4 @@ -154,20 +159,20 @@ jobs: # Web files echo "Setting MIME types for web files..." - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.css" --content-type "text/css" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.js" --content-type "application/javascript" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.mjs" --content-type "application/javascript" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.json" --content-type "application/json" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.html" --content-type "text/html" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.htm" --content-type "text/html" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.xml" --content-type "application/xml" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.txt" --content-type "text/plain" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.css" --content-type "text/css" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.js" --content-type "application/javascript" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.mjs" --content-type "application/javascript" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.json" --content-type "application/json" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.html" --content-type "text/html" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.htm" --content-type "text/html" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.xml" --content-type "application/xml" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.txt" --content-type "text/plain" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true # Images echo "Setting MIME types for images..." - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.png" --content-type "image/png" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.jpg" --content-type "image/jpeg" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true - az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.jpeg" --content-type "image/jpeg" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.png" --content-type "image/png" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.jpg" --content-type "image/jpeg" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true + az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.jpeg" --content-type "image/jpeg" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.gif" --content-type "image/gif" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.webp" --content-type "image/webp" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true az storage blob update-batch --account-name ${{ secrets.STORAGE_ACCOUNT_NAME }} --account-key ${{ secrets.STORAGE_ACCOUNT_KEY }} --source '$web' --pattern "*.svg" --content-type "image/svg+xml" --if-unmodified-since "1970-01-01T00:00:00Z" --no-progress || true From 0b6baedf1cd9aa2f20fc42a7cde9a0e1d84884b8 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:12:26 -0400 Subject: [PATCH 3/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 8e41d3c799..664a9d3c0e 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -94,7 +94,7 @@ jobs: npm run build env: - NODE_OPTIONS: "--max-old-space-size=16384" + NODE_OPTIONS: "--max-old-space-size=8192" NODE_ENV: ${{ needs.determine-environment.outputs.environment }} - name: Upload artifact for deployment From 0c418f56b2e7c0eafc94f76f6d09aef734d97bcc Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:23:49 -0400 Subject: [PATCH 4/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 139 +++++++++++++------------ 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 664a9d3c0e..49ae817934 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -34,75 +34,76 @@ jobs: fi build: - runs-on: ubuntu-latest - needs: determine-environment - environment: ${{ needs.determine-environment.outputs.environment }} - permissions: - contents: read - env: - APP_EXTERNAL_URL: ${{ secrets.APP_EXTERNAL_URL || vars.APP_EXTERNAL_URL }} - steps: - - name: Check out source code - uses: actions/checkout@v4 - - - name: Set up Node.js - uses: actions/setup-node@v3 - with: - node-version: '22.x' - - # ✅ START OF THE FIX - - name: Get npm cache directory - id: npm-cache-dir - run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT - - - name: Cache Node.js dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.npm-cache-dir.outputs.dir }} - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - # ✅ END OF THE FIX - - - name: Cache Docusaurus build - uses: actions/cache@v3 - id: cache-build - with: - path: | - .docusaurus - key: ${{ runner.os }}-docusaurus-${{ hashFiles('src/**', 'docs/**', 'blog/**', 'docusaurus.config.js', 'sidebars.js') }} - restore-keys: | - ${{ runner.os }}-docusaurus- - - - name: Cache webpack - uses: actions/cache@v3 - with: - path: node_modules/.cache - key: ${{ runner.os }}-webpack-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-webpack- - - - name: Install dependencies and build site - run: | - npm ci - - if [[ "${{ steps.cache-build.outputs.cache-hit }}" == "true" ]]; then - echo "Build cache found, checking if rebuild needed..." - else - echo "No build cache found, performing full build..." - fi - - npm run build - env: - NODE_OPTIONS: "--max-old-space-size=8192" - NODE_ENV: ${{ needs.determine-environment.outputs.environment }} - - - name: Upload artifact for deployment - uses: actions/upload-artifact@v4 - with: - name: build-output - path: build/ - + runs-on: ubuntu-latest + needs: determine-environment + environment: ${{ needs.determine-environment.outputs.environment }} + permissions: + contents: read + env: + APP_EXTERNAL_URL: ${{ secrets.APP_EXTERNAL_URL || vars.APP_EXTERNAL_URL }} + steps: + - name: Check out source code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '22.x' + + - name: Get npm cache directory + id: npm-cache-dir + run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT + + - name: Cache Node.js dependencies + uses: actions/cache@v3 + with: + path: ${{ steps.npm-cache-dir.outputs.dir }} + # ✅ KEY UPDATED + key: v2-${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + v2-${{ runner.os }}-node- + + - name: Cache Docusaurus build + uses: actions/cache@v3 + id: cache-build + with: + path: | + .docusaurus + # ✅ KEY UPDATED + key: v2-${{ runner.os }}-docusaurus-${{ hashFiles('src/**', 'docs/**', 'blog/**', 'docusaurus.config.js', 'sidebars.js') }} + restore-keys: | + v2-${{ runner.os }}-docusaurus- + + - name: Cache webpack + uses: actions/cache@v3 + with: + path: node_modules/.cache + # ✅ KEY UPDATED + key: v2-${{ runner.os }}-webpack-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + v2-${{ runner.os }}-webpack- + + - name: Install dependencies and build site + run: | + npm ci + + if [[ "${{ steps.cache-build.outputs.cache-hit }}" == "true" ]]; then + echo "Build cache found, checking if rebuild needed..." + else + echo "No build cache found, performing full build..." + fi + + npm run build + env: + NODE_OPTIONS: "--max-old-space-size=8192" + NODE_ENV: ${{ needs.determine-environment.outputs.environment }} + + - name: Upload artifact for deployment + uses: actions/upload-artifact@v4 + with: + name: build-output + path: build/ + deploy: runs-on: ubuntu-latest needs: [build, determine-environment] From ada26b4e7fb1cb91a195919d0112dac7edcc93e8 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:33:22 -0400 Subject: [PATCH 5/8] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 5b575e1436..346d3387c5 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "start": "cross-env NODE_OPTIONS=--max-old-space-size=16384 CHOKIDAR_USEPOLLING=false npx docusaurus start --port=4500 --no-open", "start-chok": "cross-env NODE_OPTIONS=--max-old-space-size=16384 CHOKIDAR_USEPOLLING=true npx docusaurus start --port=4500 --no-open", "build": "cross-env NODE_OPTIONS=--max-old-space-size=16384 npx docusaurus build", + "ci": "npx docusaurus build", "swizzle": "npx docusaurus swizzle", "clear": "npx docusaurus clear", "serve": "npx serve -s build -l 8080", From 5d246d41fb606e4a73a3ea9874b87d1de508cc99 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:42:19 -0400 Subject: [PATCH 6/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 49ae817934..2ba444085a 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -93,7 +93,7 @@ jobs: echo "No build cache found, performing full build..." fi - npm run build + npm run ci env: NODE_OPTIONS: "--max-old-space-size=8192" NODE_ENV: ${{ needs.determine-environment.outputs.environment }} From 6acedc2ee72b27cdc8686956050f293d27e12e25 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:52:03 -0400 Subject: [PATCH 7/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 2ba444085a..704e1d35e5 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -95,7 +95,7 @@ jobs: npm run ci env: - NODE_OPTIONS: "--max-old-space-size=8192" + NODE_OPTIONS: "--max-old-space-size=16384" NODE_ENV: ${{ needs.determine-environment.outputs.environment }} - name: Upload artifact for deployment From e4b0c455c10d58677cfcabf8594f15bcaa726168 Mon Sep 17 00:00:00 2001 From: Jordan Violet <8886650+jtviolet@users.noreply.github.com> Date: Tue, 14 Oct 2025 18:11:16 -0400 Subject: [PATCH 8/8] Update build-and-deploy.yml --- .github/workflows/build-and-deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 704e1d35e5..961d779088 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -18,7 +18,7 @@ on: jobs: determine-environment: - runs-on: ubuntu-latest + runs-on: gh-runner-large outputs: environment: ${{ steps.set-env.outputs.environment }} steps: @@ -34,7 +34,7 @@ jobs: fi build: - runs-on: ubuntu-latest + runs-on: gh-runner-large needs: determine-environment environment: ${{ needs.determine-environment.outputs.environment }} permissions: @@ -105,7 +105,7 @@ jobs: path: build/ deploy: - runs-on: ubuntu-latest + runs-on: gh-runner-large needs: [build, determine-environment] environment: ${{ needs.determine-environment.outputs.environment }} steps: