mirror of https://github.com/python/cpython
bpo-29624: Adds purge step and layout test after uploading files. (#258)
This commit is contained in:
parent
4c78c527d2
commit
1aceb02417
|
@ -9,6 +9,8 @@ set USER=
|
|||
set TARGET=
|
||||
set DRYRUN=false
|
||||
set NOGPG=
|
||||
set PURGE_OPTION=/p:Purge=true
|
||||
set NOTEST=
|
||||
|
||||
:CheckOpts
|
||||
if "%1" EQU "-h" goto Help
|
||||
|
@ -19,7 +21,11 @@ if "%1" EQU "--user" (set USER=%~2) && shift && shift && goto CheckOpts
|
|||
if "%1" EQU "-t" (set TARGET=%~2) && shift && shift && goto CheckOpts
|
||||
if "%1" EQU "--target" (set TARGET=%~2) && shift && shift && goto CheckOpts
|
||||
if "%1" EQU "--dry-run" (set DRYRUN=true) && shift && goto CheckOpts
|
||||
if "%1" EQU "--no-gpg" (set NOGPG=true) && shift && goto CheckOpts
|
||||
if "%1" EQU "--skip-gpg" (set NOGPG=true) && shift && goto CheckOpts
|
||||
if "%1" EQU "--skip-purge" (set PURGE_OPTION=) && shift && godo CheckOpts
|
||||
if "%1" EQU "--skip-test" (set NOTEST=true) && shift && godo CheckOpts
|
||||
if "%1" EQU "-T" (set NOTEST=true) && shift && godo CheckOpts
|
||||
if "%1" NEQ "" echo Unexpected argument "%1" & exit /B 1
|
||||
|
||||
if not defined PLINK where plink > "%TEMP%\plink.loc" 2> nul && set /P PLINK= < "%TEMP%\plink.loc" & del "%TEMP%\plink.loc"
|
||||
if not defined PLINK where /R "%ProgramFiles(x86)%\PuTTY" plink > "%TEMP%\plink.loc" 2> nul && set /P PLINK= < "%TEMP%\plink.loc" & del "%TEMP%\plink.loc"
|
||||
|
@ -35,7 +41,7 @@ echo Found pscp.exe at %PSCP%
|
|||
|
||||
if defined NOGPG (
|
||||
set GPG=
|
||||
echo Skipping GPG signature generation because of --no-gpg
|
||||
echo Skipping GPG signature generation because of --skip-gpg
|
||||
) else (
|
||||
if not defined GPG where gpg2 > "%TEMP%\gpg.loc" 2> nul && set /P GPG= < "%TEMP%\gpg.loc" & del "%TEMP%\gpg.loc"
|
||||
if not defined GPG where /R "%PCBUILD%..\externals\windows-installer" gpg2 > "%TEMP%\gpg.loc" 2> nul && set /P GPG= < "%TEMP%\gpg.loc" & del "%TEMP%\gpg.loc"
|
||||
|
@ -45,8 +51,12 @@ if defined NOGPG (
|
|||
|
||||
call "%PCBUILD%env.bat" > nul 2> nul
|
||||
pushd "%D%"
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x86
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x64 /p:IncludeDoc=false
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x86 %PURGE_OPTION%
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x64 /p:IncludeDoc=false %PURGE_OPTION%
|
||||
if not defined NOTEST (
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Test /p:Platform=x86
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:Test /p:Platform=x64
|
||||
)
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:ShowHashes /p:Platform=x86
|
||||
msbuild /v:m /nologo uploadrelease.proj /t:ShowHashes /p:Platform=x64 /p:IncludeDoc=false
|
||||
popd
|
||||
|
@ -55,9 +65,12 @@ exit /B 0
|
|||
:Help
|
||||
echo uploadrelease.bat --host HOST --user USERNAME [--target TARGET] [--dry-run] [-h]
|
||||
echo.
|
||||
echo --host (-o) Specify the upload host (required)
|
||||
echo --user (-u) Specify the user on the host (required)
|
||||
echo --target (-t) Specify the target directory on the host
|
||||
echo --dry-run Display commands and filenames without executing them
|
||||
echo -h Display this help information
|
||||
echo --host (-o) Specify the upload host (required)
|
||||
echo --user (-u) Specify the user on the host (required)
|
||||
echo --target (-t) Specify the target directory on the host
|
||||
echo --dry-run Display commands and filenames without executing them
|
||||
echo --skip-gpg Does not generate GPG signatures before uploading
|
||||
echo --skip-purge Does not perform CDN purge after uploading
|
||||
echo --skip-test (-T) Does not perform post-upload tests
|
||||
echo -h Display this help information
|
||||
echo.
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<DownloadUrlBase Condition="'$(DownloadUrlBase)' == ''">/srv/www.python.org/ftp/python</DownloadUrlBase>
|
||||
<IncludeDoc Condition="'$(IncludeDoc)' == ''">true</IncludeDoc>
|
||||
<DryRun Condition="'$(DryRun)' == ''">false</DryRun>
|
||||
<Purge Condition="'$(Purge)' == ''">false</Purge>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="msi.props" />
|
||||
|
@ -64,7 +65,36 @@ echo.
|
|||
echo." />
|
||||
</Target>
|
||||
|
||||
<Target Name="Upload" DependsOnTargets="_ValidateProperties;_RunGpg;_PrintNames;_Upload" />
|
||||
<Target Name="_Purge" Condition="$(Purge) and !$(DryRun)">
|
||||
<Error Condition="!Exists('$(PythonExe)')" Text="No Python executable available at $(PythonExe)" />
|
||||
<Exec Command=""$(PythonExe)" purge.py $(PythonVersion)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_TestLayout">
|
||||
<ItemGroup>
|
||||
<WebInstaller Include="$(OutputPath)\*-webinstall.exe" />
|
||||
<WebInstaller>
|
||||
<SourceDir>$(TEMP)\%(Filename)_source</SourceDir>
|
||||
<SourceExe>$(TEMP)\%(Filename)_source\%(Filename)%(Extension)</SourceExe>
|
||||
<LayoutDir>$(TEMP)\%(Filename)_layout</LayoutDir>
|
||||
<LogDir>$(OutputPath)\%(Filename)_layoutlog</LogDir>
|
||||
<LogFile>$(OutputPath)\%(Filename)_layoutlog\%(Filename).log</LogFile>
|
||||
</WebInstaller>
|
||||
</ItemGroup>
|
||||
<RemoveDir Directories="%(WebInstaller.SourceDir)" Condition="Exists('%(WebInstaller.SourceDir)')" />
|
||||
<RemoveDir Directories="%(WebInstaller.LayoutDir)" Condition="Exists('%(WebInstaller.LayoutDir)')" />
|
||||
<RemoveDir Directories="%(WebInstaller.LogDir)" Condition="Exists('%(WebInstaller.LogDir)')" />
|
||||
<MakeDir Directories="%(WebInstaller.SourceDir)" />
|
||||
<Copy SourceFiles="@(WebInstaller)" DestinationFiles="%(WebInstaller.SourceExe)" />
|
||||
<Exec Command="start "Install test" /wait "%(WebInstaller.SourceExe)" /layout "%(WebInstaller.LayoutDir)" /passive /log "%(WebInstaller.LogFile)""
|
||||
IgnoreExitCode="false" />
|
||||
<RemoveDir Directories="%(WebInstaller.LayoutDir)" />
|
||||
<RemoveDir Directories="%(WebInstaller.SourceDir)" />
|
||||
<RemoveDir Directories="%(WebInstaller.LogDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Upload" DependsOnTargets="_ValidateProperties;_RunGpg;_PrintNames;_Upload;_Purge" />
|
||||
<Target Name="Test" DependsOnTargets="_TestLayout" />
|
||||
|
||||
<Target Name="ShowHashes">
|
||||
<ItemGroup>
|
||||
|
|
Loading…
Reference in New Issue