6abf03b5d0
Make this more generally useful and in line with what the mingw and unix ports do: 16bit dig size to work on 32bit ports, a self-contained qstrdefs.preprocessed.h because makemanifest.py uses that, and a dev variant which effectively puts this to use: previously the uasyncio module wasn't frozen but instead tests ran by importing it from the extmod/ directory.
91 lines
2.7 KiB
YAML
91 lines
2.7 KiB
YAML
image: Visual Studio 2017
|
|
clone_depth: 1
|
|
skip_tags: true
|
|
|
|
environment:
|
|
# Python version used
|
|
MICROPY_CPYTHON3: c:/python38/python.exe
|
|
# The variants.
|
|
matrix:
|
|
- PyVariant: dev
|
|
- PyVariant: standard
|
|
|
|
init:
|
|
# Set build version number to commit to be travis-like
|
|
- ps: Update-AppveyorBuild -Version $env:appveyor_repo_commit.substring(0,8)
|
|
|
|
configuration:
|
|
- Debug
|
|
- Release
|
|
|
|
platform:
|
|
- x86
|
|
- x64
|
|
|
|
matrix:
|
|
# One debug build is enough.
|
|
exclude:
|
|
- configuration: Debug
|
|
PyVariant: dev
|
|
|
|
before_build:
|
|
- ps: |
|
|
@"
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Target Name="Build">
|
|
<MsBuild Projects="mpy-cross\mpy-cross.vcxproj;ports\windows\micropython.vcxproj"/>
|
|
</Target>
|
|
</Project>
|
|
"@ | Set-Content build.proj
|
|
|
|
build:
|
|
project: build.proj
|
|
parallel: true
|
|
verbosity: normal
|
|
|
|
test_script:
|
|
- ps: |
|
|
$env:MICROPY_MICROPYTHON=(msbuild ports\windows\micropython.vcxproj /nologo /v:m /t:ShowTargetPath).Trim()
|
|
cd (Join-Path $env:APPVEYOR_BUILD_FOLDER 'tests')
|
|
& $env:MICROPY_CPYTHON3 run-tests.py
|
|
if ($LASTEXITCODE -ne 0) {
|
|
& $env:MICROPY_CPYTHON3 run-tests.py --print-failures
|
|
throw "Test failure"
|
|
}
|
|
& $env:MICROPY_CPYTHON3 run-tests.py --via-mpy -d basics float micropython
|
|
if ($LASTEXITCODE -ne 0) {
|
|
& $env:MICROPY_CPYTHON3 run-tests.py --print-failures
|
|
throw "Test failure"
|
|
}
|
|
|
|
# After the build/test phase for the MSVC build completes,
|
|
# build and test with mingw-w64, release versions only.
|
|
after_test:
|
|
- ps: |
|
|
if ($env:configuration -eq 'Debug') {
|
|
return
|
|
}
|
|
$env:MSYSTEM = if ($platform -eq 'x86') {'MINGW32'} else {'MINGW64'}
|
|
$env:CHERE_INVOKING = 'enabled_from_arguments'
|
|
cd (Join-Path $env:APPVEYOR_BUILD_FOLDER 'mpy-cross')
|
|
C:\msys64\usr\bin\bash.exe -l -c "make -B -j4 V=1"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "$env:MSYSTEM mpy_cross build exited with code $LASTEXITCODE"
|
|
}
|
|
cd (Join-Path $env:APPVEYOR_BUILD_FOLDER 'ports/windows')
|
|
C:\msys64\usr\bin\bash.exe -l -c "make -B VARIANT=$($env:PyVariant) submodules"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "$env:MSYSTEM build exited with code $LASTEXITCODE"
|
|
}
|
|
C:\msys64\usr\bin\bash.exe -l -c "make -B -j4 V=1 MICROPY_MPYCROSS=../../mpy-cross/build/mpy-cross.exe VARIANT=$($env:PyVariant)"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "$env:MSYSTEM build exited with code $LASTEXITCODE"
|
|
}
|
|
C:\msys64\usr\bin\bash.exe -l -c "make V=1 test_full VARIANT=$($env:PyVariant)"
|
|
if ($LASTEXITCODE -ne 0) {
|
|
cd (Join-Path $env:APPVEYOR_BUILD_FOLDER 'tests')
|
|
& $env:MICROPY_CPYTHON3 run-tests.py --print-failures
|
|
throw "Test failure"
|
|
}
|