From 51f4cbd76c9f243c250a3ce3b208ce88bf4608b4 Mon Sep 17 00:00:00 2001 From: Hasso Date: Mon, 20 Oct 2025 13:42:21 -0500 Subject: [PATCH 1/2] LT-22298: build number: tweak a comment and a variable name Change-Id: Ia112f5968c602781c096677c62f57bf6efba2588 --- .github/workflows/base-installer-cd.yml | 8 ++++---- .github/workflows/patch-installer-cd.yml | 4 ++-- Build/Src/FwBuildTasks/Substitute.cs | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/base-installer-cd.yml b/.github/workflows/base-installer-cd.yml index 3428ac7678..04edce1987 100644 --- a/.github/workflows/base-installer-cd.yml +++ b/.github/workflows/base-installer-cd.yml @@ -50,7 +50,7 @@ jobs: $githubRun = $env:GITHUB_RUN_NUMBER $combined = $lastJenkins + $githubRun echo "Calculated build number: $combined" - echo "RELEASE_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV + echo "FW_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV - name: Checkout Files uses: actions/checkout@v4 @@ -237,7 +237,7 @@ jobs: $offlineFile = Split-Path $offlineExe -Leaf $onlineFile = Split-Path $onlineExe -Leaf - $s3BasePath = "jobs/FieldWorks-Win-all-Release-Base/$($env:RELEASE_BUILD_NUMBER)" + $s3BasePath = "jobs/FieldWorks-Win-all-Release-Base/$($env:FW_BUILD_NUMBER)" $offlineS3Key = "$s3BasePath/$offlineFile" $onlineS3Key = "$s3BasePath/$onlineFile" @@ -272,8 +272,8 @@ jobs: if: ${{ inputs.make_release == 'true' }} uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 with: - tag_name: build-${{ env.RELEASE_BUILD_NUMBER }} - name: "FieldWorks Base Build #${{ env.RELEASE_BUILD_NUMBER }}" + tag_name: build-${{ env.FW_BUILD_NUMBER }} + name: "FieldWorks Base Build #${{ env.FW_BUILD_NUMBER }}" draft: false prerelease: true fail_on_unmatched_files: true diff --git a/.github/workflows/patch-installer-cd.yml b/.github/workflows/patch-installer-cd.yml index 37aff02f78..cfe2d4cfde 100644 --- a/.github/workflows/patch-installer-cd.yml +++ b/.github/workflows/patch-installer-cd.yml @@ -60,7 +60,7 @@ jobs: $githubRun = $env:GITHUB_RUN_NUMBER $combined = $lastJenkins + $githubRun echo "Calculated build number: $combined" - echo "RELEASE_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV + echo "FW_BUILD_NUMBER=$combined" >> $env:GITHUB_ENV - name: Checkout Files uses: actions/checkout@v4 @@ -278,7 +278,7 @@ jobs: throw "Unexpected patch filename format: $patchFile" } $patchWithBaseInName = "$($Matches[1])${baseBuildNumber}$($Matches[2])" - $s3Key = "jobs/FieldWorks-Win-all-Release-Patch/$($env:RELEASE_BUILD_NUMBER)/$patchWithBaseInName" + $s3Key = "jobs/FieldWorks-Win-all-Release-Patch/$($env:FW_BUILD_NUMBER)/$patchWithBaseInName" aws s3 cp $patchPath "s3://flex-updates/$s3Key" Write-Host "Uploaded to s3://flex-updates/$s3Key" diff --git a/Build/Src/FwBuildTasks/Substitute.cs b/Build/Src/FwBuildTasks/Substitute.cs index 33c0c81f28..b7b404184b 100644 --- a/Build/Src/FwBuildTasks/Substitute.cs +++ b/Build/Src/FwBuildTasks/Substitute.cs @@ -77,11 +77,11 @@ public override bool Execute() var numberOfDays = Convert.ToInt32(Math.Truncate(DateTime.Now.ToOADate())).ToString(); fileContents = regex.Replace(fileContents, numberOfDays); - // GHA builds set the RELEASE_BUILD_NUMBER in the environment - var buildNumber = Environment.GetEnvironmentVariable("RELEASE_BUILD_NUMBER"); + // FW's GHA build scripts set FW_BUILD_NUMBER in the environment + var buildNumber = Environment.GetEnvironmentVariable("FW_BUILD_NUMBER"); if (string.IsNullOrEmpty(buildNumber)) { - // fall back to number of days if no RELEASE_BUILD_NUMBER is in the environment + // fall back to number of days if no FW_BUILD_NUMBER is in the environment buildNumber = numberOfDays; } regex = new Regex("\\$BUILDNUMBER"); From 2043d04b36f8414270c45fbee0fcaf9bfe0fc305 Mon Sep 17 00:00:00 2001 From: Hasso Date: Mon, 20 Oct 2025 15:03:22 -0500 Subject: [PATCH 2/2] LT-22298: Weekly bitrot builds for Base and Patch installers * Reduce scheduled Base builds from daily to weekly * Begin weekly scheduled Patch builds Patch builds must run at least as often as Base builds to ensure higher version numbers. This ensures that Patches are seen as upgrades from Base builds with the same M.m.p.* version. Change-Id: Idf5aaff2900c6045a3fd96f3d284bde47919d3dd --- .github/workflows/base-installer-cd.yml | 4 ++-- .github/workflows/patch-installer-cd.yml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/base-installer-cd.yml b/.github/workflows/base-installer-cd.yml index 04edce1987..2f388ad066 100644 --- a/.github/workflows/base-installer-cd.yml +++ b/.github/workflows/base-installer-cd.yml @@ -1,8 +1,8 @@ name: Base Installer on: schedule: - # Runs every day at 02:30 UTC (which is 6:30pm PST / 7:30pm PDT) - - cron: "30 2 * * *" + # Runs every Monday at 02:30 UTC (which is 6:30pm PST / 7:30pm PDT Sunday evening) + - cron: "30 2 * * 1" workflow_dispatch: inputs: fw_ref: diff --git a/.github/workflows/patch-installer-cd.yml b/.github/workflows/patch-installer-cd.yml index cfe2d4cfde..2ba7939612 100644 --- a/.github/workflows/patch-installer-cd.yml +++ b/.github/workflows/patch-installer-cd.yml @@ -2,6 +2,9 @@ name: Patch Installer on: push: branches: ["release/9.3"] + schedule: + # Runs every Monday at 03:30 UTC (which is 8:30pm MST/PDT Sunday evening) + - cron: "30 3 * * 1" workflow_dispatch: inputs: fw_ref: