Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 550e4673be538d98b6ddf5550b3922539cf5c4b2 authored by Victor Stinner on 08 December 2020, 23:32:54 UTC
bpo-32381: Add _PyRun_SimpleFileObject() (GH-23709)
Tip revision: 550e467
stage-test-msi.yml
jobs:
- job: Test_MSI
  displayName: Test MSI

  pool:
    vmImage: windows-2019

  workspace:
    clean: all

  strategy:
    matrix:
      win32_User:
        ExeMatch: 'python-[\dabrc.]+-webinstall\.exe'
        Logs: $(Build.ArtifactStagingDirectory)\logs\win32_User
        InstallAllUsers: 0
      win32_Machine:
        ExeMatch: 'python-[\dabrc.]+-webinstall\.exe'
        Logs: $(Build.ArtifactStagingDirectory)\logs\win32_Machine
        InstallAllUsers: 1
      amd64_User:
        ExeMatch: 'python-[\dabrc.]+-amd64-webinstall\.exe'
        Logs: $(Build.ArtifactStagingDirectory)\logs\amd64_User
        InstallAllUsers: 0
      amd64_Machine:
        ExeMatch: 'python-[\dabrc.]+-amd64-webinstall\.exe'
        Logs: $(Build.ArtifactStagingDirectory)\logs\amd64_Machine
        InstallAllUsers: 1

  steps:
  - checkout: none

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: msi'
    inputs:
      artifactName: msi
      targetPath: $(Build.BinariesDirectory)\msi

  - powershell: |
      $p = (gci -r *.exe | ?{ $_.Name -match '$(ExeMatch)' } | select -First 1)
      Write-Host "##vso[task.setvariable variable=SetupExe]$($p.FullName)"
      Write-Host "##vso[task.setvariable variable=SetupExeName]$($p.Name)"
    displayName: 'Find installer executable'
    workingDirectory: $(Build.BinariesDirectory)\msi

  - script: >
      "$(SetupExe)"
      /passive
      /log "$(Logs)\install\log.txt"
      TargetDir="$(Build.BinariesDirectory)\Python"
      Include_debug=1
      Include_symbols=1
      InstallAllUsers=$(InstallAllUsers)
    displayName: 'Install Python'

  - powershell: |
      $p = gi "$(Build.BinariesDirectory)\Python\python.exe"
      Write-Host "##vso[task.prependpath]$(Split-Path -Parent $p)"
    displayName: 'Add test Python to PATH'

  - script: |
      python -c "import sys; print(sys.version)"
    displayName: 'Collect version number'

  - script: |
      python -m site
    displayName: 'Collect site'

  - powershell: |
      gci -r "${env:PROGRAMDATA}\Microsoft\Windows\Start Menu\Programs\Python*"
    displayName: 'Capture per-machine Start Menu items'
  - powershell: |
      gci -r "${env:APPDATA}\Microsoft\Windows\Start Menu\Programs\Python*"
    displayName: 'Capture per-user Start Menu items'

  - powershell: |
      gci -r "HKLM:\Software\WOW6432Node\Python"
    displayName: 'Capture per-machine 32-bit registry'
  - powershell: |
      gci -r "HKLM:\Software\Python"
    displayName: 'Capture per-machine native registry'
  - powershell: |
      gci -r "HKCU:\Software\Python"
    displayName: 'Capture current-user registry'

  - script: |
      python -m pip install "azure<0.10"
      python -m pip uninstall -y azure python-dateutil six
    displayName: 'Test (un)install package'

  - script: |
      python -m test -uall -v test_ttk_guionly test_tk test_idle
    displayName: 'Test Tkinter and Idle'

  - script: >
      "$(SetupExe)"
      /passive
      /uninstall
      /log "$(Logs)\uninstall\log.txt"
    displayName: 'Uninstall Python'

  - task: PublishBuildArtifacts@1
    displayName: 'Publish Artifact: logs'
    condition: true
    continueOnError: true
    inputs:
      PathtoPublish: '$(Build.ArtifactStagingDirectory)\logs'
      ArtifactName: msi_testlogs
back to top