version: 1.0.{build} image: Windows Server 2019 build: off # Change the clone folder to somewhere in "D:\" because this is shared by default with Docker. We need this to mount folders. clone_folder: D:\source environment: AWS_DEFAULT_REGION: us-east-1 SAM_CLI_DEV: 1 # In Windows, tempdir is usually in C:\. But in AppVeyor only D:\ is shared in Docker. # Therefore change TEMPDIR it to D: for invoke tests to work. Python uses $TMPDIR envvar # to find root of tempdir TMPDIR: D:\tmp TEMP: D:\tmp TMP: D:\tmp # MSI Installers only use Py3.7.6. It is sufficient to test with this version here. PYTHON_HOME: "C:\\Python37-x64" PYTHON_SCRIPTS: "C:\\Python37-x64\\Scripts" PYTHON_EXE: "C:\\Python37-x64\\python.exe" PYTHON_ARCH: '64' HOME: 'C:\Users\appveyor' HOMEDRIVE: 'C:' HOMEPATH: 'C:\Users\appveyor' NOSE_PARAMETERIZED_NO_WARN: 1 AWS_S3: 'AWS_S3_37_WIN' APPVEYOR_CONSOLE_DISABLE_PTY: true init: # Uncomment this for RDP - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - ps: gcim Win32_Processor | % { "$($_.NumberOfLogicalProcessors) logical CPUs" } - ps: gcim Win32_OperatingSystem | % { "$([int]($_.TotalVisibleMemorySize/1mb)) Gb" } cache: - C:\ProgramData\chocolatey\bin -> appveyor.yml - C:\ProgramData\chocolatey\lib -> appveyor.yml install: # setup make - "choco install make" # Make sure the temp directory exists for Python to use. - ps: "mkdir -Force D:\\tmp" - "SET PATH=%PYTHON_HOME%;%PATH%" - "echo %PYTHON_HOME%" - "echo %PATH%" - "python --version" # Upgrade setuptools, wheel and virtualenv - "python -m pip install --upgrade setuptools wheel virtualenv" # Install AWS CLI Globally via pip3 - "pip install awscli" # Create new virtual environment with chosen python version and activate it - "python -m virtualenv venv" - "venv\\Scripts\\activate" - "python --version" # Actually install SAM CLI's dependencies - "pip install -e \".[dev]\"" # Switch to Docker Linux containers - ps: Switch-DockerLinux # Check for git executable - "git --version" # Echo final Path - "echo %PATH%" test_script: # Reactivate virtualenv before running tests - "git --version" - "venv\\Scripts\\activate" - "docker system prune -a -f" - "pytest -vv tests/integration" - "pytest -vv tests/regression" # Uncomment for RDP # on_finish: # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))