b47b245c2e
The main Makefile builds the mpy-cross executable automatically if it doesn't exist since 78718fffb1f3010c7a40bb4c29c6ddf5b8dadaa3, so build it first to make sure it doesn't get needlessly rebuilt.
86 lines
2.5 KiB
YAML
86 lines
2.5 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 BuildInParallel="True" 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 -j4 V=1 MICROPY_MPYCROSS=../../mpy-cross/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) {
|
|
& $env:MICROPY_CPYTHON3 run-tests.py --print-failures
|
|
throw "Test failure"
|
|
}
|