github/workflows: Move Windows CI from AppVeyor to GitHub Actions.
By moving to GitHub actions, all MicroPython CI builds are now on GitHub actions. This allows faster parallel builds and saves time by not building when no relevant files changed. This reveals a few failing tests, so those are temporarily disabled until they can be fixed. Signed-off-by: David Lechner <david@pybricks.com> Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
committed by
Damien George
parent
23342eff90
commit
ed15b3c6c6
@@ -1,90 +0,0 @@
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user