Skip to content

Commit

Permalink
Improves the Windows MSI test run on PR (GH-104929)
Browse files Browse the repository at this point in the history
Correctly set the exit code when builds fail
Also build docs as part of the test
(cherry picked from commit 569b2b8)

Co-authored-by: Steve Dower <steve.dower@python.org>
  • Loading branch information
miss-islington and zooba authored May 25, 2023
1 parent b328ba1 commit d176f78
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 35 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/build_msi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ on:
- '3.*'
paths:
- 'Tools/msi/**'
- '.github/workflows/build_msi.yml'
pull_request:
branches:
- 'main'
- '3.*'
paths:
- 'Tools/msi/**'
- '.github/workflows/build_msi.yml'

permissions:
contents: read
Expand All @@ -33,4 +35,4 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Build CPython installer
run: .\Tools\msi\build.bat -${{ matrix.type }}
run: .\Tools\msi\build.bat --doc -${{ matrix.type }}
58 changes: 24 additions & 34 deletions Tools/msi/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -29,29 +29,23 @@ call "%D%get_externals.bat"
call "%PCBUILD%find_msbuild.bat" %MSBUILD%
if ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable & exit /b 2)

if defined BUILDX86 (
call "%PCBUILD%build.bat" -p Win32 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
call "%PCBUILD%build.bat" -p Win32 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDX64 (
call "%PCBUILD%build.bat" -p x64 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
call "%PCBUILD%build.bat" -p x64 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDARM64 (
call "%PCBUILD%build.bat" -p ARM64 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
call "%PCBUILD%build.bat" -p ARM64 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDX86 call "%PCBUILD%build.bat" -p Win32 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
if defined BUILDX86 call "%PCBUILD%build.bat" -p Win32 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%

if defined BUILDDOC (
call "%PCBUILD%..\Doc\make.bat" html
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDX64 call "%PCBUILD%build.bat" -p x64 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
if defined BUILDX64 call "%PCBUILD%build.bat" -p x64 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%

if defined BUILDARM64 call "%PCBUILD%build.bat" -p ARM64 -d -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%
if defined BUILDARM64 call "%PCBUILD%build.bat" -p ARM64 -e %REBUILD% %BUILDTEST%
if errorlevel 1 exit /B %ERRORLEVEL%

if defined BUILDDOC call "%PCBUILD%..\Doc\make.bat" html
if errorlevel 1 exit /B %ERRORLEVEL%

rem Build the launcher MSI separately
%MSBUILD% "%D%launcher\launcher.wixproj" /p:Platform=x86
Expand All @@ -68,18 +62,14 @@ if defined REBUILD (
set BUILD_CMD=%BUILD_CMD% /t:Rebuild
)

if defined BUILDX86 (
%MSBUILD% /p:Platform=x86 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDX64 (
%MSBUILD% /p:Platform=x64 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDARM64 (
%MSBUILD% /p:Platform=ARM64 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%
)
if defined BUILDX86 %MSBUILD% /p:Platform=x86 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%

if defined BUILDX64 %MSBUILD% /p:Platform=x64 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%

if defined BUILDARM64 %MSBUILD% /p:Platform=ARM64 %BUILD_CMD%
if errorlevel 1 exit /B %ERRORLEVEL%

exit /B 0

Expand Down

0 comments on commit d176f78

Please sign in to comment.