mirror of
https://github.com/micropython/micropython.git
synced 2026-02-11 21:50:18 +01:00
Some checks failed
zephyr port / build (push) Has been cancelled
JavaScript code lint and formatting with Biome / eslint (push) Has been cancelled
Check code formatting / code-formatting (push) Has been cancelled
Check spelling with codespell / codespell (push) Has been cancelled
Build docs / build (push) Has been cancelled
Check examples / embedding (push) Has been cancelled
Package mpremote / build (push) Has been cancelled
.mpy file format and tools / test (push) Has been cancelled
Build ports metadata / build (push) Has been cancelled
alif port / build_alif (alif_ae3_build) (push) Has been cancelled
cc3200 port / build (push) Has been cancelled
esp32 port / build_idf (esp32_build_c2_c5_c6) (push) Has been cancelled
esp32 port / build_idf (esp32_build_cmod_spiram_s2) (push) Has been cancelled
esp32 port / build_idf (esp32_build_p4) (push) Has been cancelled
esp32 port / build_idf (esp32_build_s3_c3) (push) Has been cancelled
esp8266 port / build (push) Has been cancelled
mimxrt port / build (push) Has been cancelled
nrf port / build (push) Has been cancelled
powerpc port / build (push) Has been cancelled
qemu port / build_and_test_arm (bigendian) (push) Has been cancelled
qemu port / build_and_test_arm (sabrelite) (push) Has been cancelled
qemu port / build_and_test_arm (thumb_hardfp) (push) Has been cancelled
qemu port / build_and_test_arm (thumb_softfp) (push) Has been cancelled
qemu port / build_and_test_rv32 (push) Has been cancelled
qemu port / build_and_test_rv64 (push) Has been cancelled
renesas-ra port / build_renesas_ra_board (push) Has been cancelled
rp2 port / build (push) Has been cancelled
samd port / build (push) Has been cancelled
stm32 port / build_stm32 (stm32_misc_build) (push) Has been cancelled
stm32 port / build_stm32 (stm32_nucleo_build) (push) Has been cancelled
stm32 port / build_stm32 (stm32_pyb_build) (push) Has been cancelled
unix port / minimal (push) Has been cancelled
unix port / reproducible (push) Has been cancelled
unix port / standard (push) Has been cancelled
unix port / standard_v2 (push) Has been cancelled
unix port / coverage (push) Has been cancelled
unix port / coverage_32bit (push) Has been cancelled
unix port / nanbox (push) Has been cancelled
unix port / longlong (push) Has been cancelled
unix port / float (push) Has been cancelled
unix port / gil_enabled (push) Has been cancelled
unix port / stackless_clang (push) Has been cancelled
unix port / float_clang (push) Has been cancelled
unix port / settrace_stackless (push) Has been cancelled
unix port / repr_b (push) Has been cancelled
unix port / macos (push) Has been cancelled
unix port / qemu_mips (push) Has been cancelled
unix port / qemu_arm (push) Has been cancelled
unix port / qemu_riscv64 (push) Has been cancelled
unix port / sanitize_address (push) Has been cancelled
unix port / sanitize_undefined (push) Has been cancelled
webassembly port / build (push) Has been cancelled
windows port / build-vs (Debug, true, x64, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Debug, true, x86, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Debug, x64, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Debug, x86, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, dev, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, standard, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, standard, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, dev, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, standard, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, standard, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, x64, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x64, standard, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x86, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x86, standard, 2022, [17, 18)) (push) Has been cancelled
windows port / build-mingw (i686, mingw32, dev) (push) Has been cancelled
windows port / build-mingw (i686, mingw32, standard) (push) Has been cancelled
windows port / build-mingw (x86_64, mingw64, dev) (push) Has been cancelled
windows port / build-mingw (x86_64, mingw64, standard) (push) Has been cancelled
windows port / cross-build-on-linux (push) Has been cancelled
Python code lint and formatting with ruff / ruff (push) Has been cancelled
As of January 12 the default Python version changed from 3.9 to 3.12, and 3.12 has issues running the settrace tests. 3.13 seems to also have some issues, so setting 3.11 for now. See https://github.com/actions/runner-images/issues/13468 Signed-off-by: Angus Gratton <angus@redyak.com.au>
158 lines
5.3 KiB
YAML
158 lines
5.3 KiB
YAML
name: windows port
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/*.yml'
|
|
- 'tools/**'
|
|
- 'py/**'
|
|
- 'extmod/**'
|
|
- 'shared/**'
|
|
- 'lib/**'
|
|
- 'ports/unix/**'
|
|
- 'ports/windows/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-vs:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [x86, x64]
|
|
configuration: [Debug, Release]
|
|
variant: [dev, standard]
|
|
visualstudio: ['2017', '2019', '2022']
|
|
include:
|
|
- visualstudio: '2017'
|
|
vs_version: '[15, 16)'
|
|
custom_vs_install: true
|
|
- visualstudio: '2019'
|
|
vs_version: '[16, 17)'
|
|
custom_vs_install: true
|
|
- visualstudio: '2022'
|
|
vs_version: '[17, 18)'
|
|
# trim down the number of jobs in the matrix
|
|
exclude:
|
|
- variant: standard
|
|
configuration: Debug
|
|
- visualstudio: '2019'
|
|
configuration: Debug
|
|
runs-on: windows-latest
|
|
env:
|
|
CI_BUILD_CONFIGURATION: ${{ matrix.configuration }}
|
|
steps:
|
|
- name: Install Python 3.11
|
|
# As of 20260112 the default Python version in Windows image is 3.12, which breaks settrace tests
|
|
# Use 3.11 for now
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.11'
|
|
- name: Install Visual Studio ${{ matrix.visualstudio }}
|
|
if: matrix.custom_vs_install
|
|
shell: bash
|
|
# Shell functions in this block are to retry intermittent corrupt
|
|
# downloads (with a clean download dir) before failing the job outright
|
|
run: |
|
|
try () { ($@) || ($@) || ($@) || ($@) }
|
|
clean_install () ( rm -rf $TEMP/chocolatey; choco install $1 )
|
|
try clean_install visualstudio${{ matrix.visualstudio }}buildtools
|
|
try clean_install visualstudio${{ matrix.visualstudio }}-workload-vctools
|
|
try clean_install windows-sdk-8.1
|
|
- uses: microsoft/setup-msbuild@v2
|
|
with:
|
|
vs-version: ${{ matrix.vs_version }}
|
|
- uses: actions/checkout@v6
|
|
- name: Build mpy-cross.exe
|
|
run: msbuild mpy-cross\mpy-cross.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }}
|
|
- name: Update submodules
|
|
run: git submodule update --init lib/micropython-lib
|
|
- name: Build micropython.exe
|
|
run: msbuild ports\windows\micropython.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }}
|
|
- name: Get micropython.exe path
|
|
id: get_path
|
|
run: |
|
|
$exePath="$(msbuild ports\windows\micropython.vcxproj -nologo -v:m -t:ShowTargetPath -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }})"
|
|
echo ("micropython=" + $exePath.Trim()) >> $env:GITHUB_OUTPUT
|
|
- name: Run tests
|
|
id: test
|
|
env:
|
|
MICROPY_MICROPYTHON: ${{ steps.get_path.outputs.micropython }}
|
|
working-directory: tests
|
|
run: python run-tests.py
|
|
- name: Print failures
|
|
if: failure() && steps.test.conclusion == 'failure'
|
|
working-directory: tests
|
|
run: python run-tests.py --print-failures
|
|
- name: Run mpy tests
|
|
id: test_mpy
|
|
env:
|
|
MICROPY_MICROPYTHON: ${{ steps.get_path.outputs.micropython }}
|
|
working-directory: tests
|
|
run: python run-tests.py --via-mpy -d basics float micropython
|
|
- name: Print mpy failures
|
|
if: failure() && steps.test_mpy.conclusion == 'failure'
|
|
working-directory: tests
|
|
run: python run-tests.py --print-failures
|
|
|
|
build-mingw:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
variant: [dev, standard]
|
|
sys: [mingw32, mingw64]
|
|
include:
|
|
- sys: mingw32
|
|
env: i686
|
|
- sys: mingw64
|
|
env: x86_64
|
|
runs-on: windows-latest
|
|
env:
|
|
CHERE_INVOKING: enabled_from_arguments
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: actions/setup-python@v6
|
|
# note: can go back to installing mingw-w64-${{ matrix.env }}-python after
|
|
# MSYS2 updates to Python >3.12 (due to settrace compatibility issue)
|
|
with:
|
|
python-version: '3.11'
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.sys }}
|
|
update: true
|
|
install: >-
|
|
make
|
|
mingw-w64-${{ matrix.env }}-gcc
|
|
pkg-config
|
|
git
|
|
diffutils
|
|
path-type: inherit # Remove when setup-python is removed
|
|
- uses: actions/checkout@v6
|
|
- name: Build mpy-cross.exe
|
|
run: make -C mpy-cross -j2
|
|
- name: Update submodules
|
|
run: make -C ports/windows VARIANT=${{ matrix.variant }} submodules
|
|
- name: Build micropython.exe
|
|
run: make -C ports/windows -j2 VARIANT=${{ matrix.variant }}
|
|
- name: Run tests
|
|
id: test
|
|
run: make -C ports/windows test_full VARIANT=${{ matrix.variant }}
|
|
- name: Print failures
|
|
if: failure() && steps.test.conclusion == 'failure'
|
|
working-directory: tests
|
|
run: python run-tests.py --print-failures
|
|
|
|
cross-build-on-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install packages
|
|
run: tools/ci.sh windows_setup
|
|
- name: Build
|
|
run: tools/ci.sh windows_build
|