diff --git a/.github/workflows/build_test_cbsinit.yml b/.github/workflows/build_test_cbsinit.yml index b85f3285..882f3bd3 100644 --- a/.github/workflows/build_test_cbsinit.yml +++ b/.github/workflows/build_test_cbsinit.yml @@ -9,6 +9,7 @@ jobs: max-parallel: 100 matrix: os: ['windows-2022'] + download_official_python_msi: ["true", "false"] cbsinit_repo: ['https://github.com/cloudbase/cloudbase-init'] cbsinit_branch: ['master'] python_version: ['3.14_4'] @@ -29,7 +30,9 @@ jobs: -VCVars "automatic" ^ -VSRedistDir "''" ^ -CloudbaseInitRepoUrl ${{ matrix.cbsinit_repo }} ^ - -CloudbaseInitRepoBranch ${{ matrix.cbsinit_branch }} + -CloudbaseInitRepoBranch ${{ matrix.cbsinit_branch }} ^ + -InstallOfficialPythonMsi:$${{ matrix.download_official_python_msi }} ^ + -OfficialPythonMsiChecksum "C10234D0D9BD89F6F6DD55BAE28EDE0F97EE0DF4" - uses: actions/upload-artifact@v7 with: name: "CloudbaseInit_${{ matrix.platform }}_${{ matrix.os }}_MSI_${{ matrix.cbsinit_branch }}" diff --git a/BuildAutomation/BuildCloudbaseInitSetup.ps1 b/BuildAutomation/BuildCloudbaseInitSetup.ps1 index ca31d518..da5579f2 100644 --- a/BuildAutomation/BuildCloudbaseInitSetup.ps1 +++ b/BuildAutomation/BuildCloudbaseInitSetup.ps1 @@ -10,7 +10,9 @@ Param( [switch]$ClonePullInstallerRepo = $true, [string]$VSRedistDir = "${ENV:ProgramFiles(x86)}\Common Files\Merge Modules", [string]$SignTimestampUrl = "http://timestamp.digicert.com?alg=sha256", - [string]$VCVars="2019" + [string]$VCVars = "2019", + [switch]$InstallOfficialPythonMsi = $false, + [string]$OfficialPythonMsiChecksum = "C10234D0D9BD89F6F6DD55BAE28EDE0F97EE0DF4" ) $ErrorActionPreference = "Stop" @@ -77,6 +79,14 @@ try $python_template_dir = join-path $cloudbaseInitInstallerDir "Python$($pythonversion.replace('.', ''))_${platform}_Template" + if ($InstallOfficialPythonMsi) { + if (!$OfficialPythonMsiChecksum) { + throw "Please set a OfficialPythonMsiChecksum parameter value." + } + Remove-Item -Recurse -Force $python_template_dir -ErrorAction SilentlyContinue + DownloadInstall-PythonMsi $platform $python_template_dir $pythonversion $OfficialPythonMsiChecksum + } + CheckCopyDir $python_template_dir $python_dir # Make sure that we don't have temp files from a previous build