kopia lustrzana https://github.com/micropython/micropython
.github/workflows/build_mpy_cross.yml: Build various mpy-cross binaries.
This provides binaries that will be used to generate mpy-cross binaries for inclusion in a future PyPI package. Includes Linux (32-bit and 64-bit), Windows (32-bit and 64-bit), aarch64 (e.g. 64-bit Raspberry Pi 4), armhf (e.g. earlier 32-bit Raspberry Pi), macos (x64, works on M1/ARM too). Currently using Ubuntu Bionic as the build environment (so that it supports older glibc, i.e. Ubuntu Bionic LTS and Debian Buster). This is deprecated, but we can move to Focal when support is removed (which will support the current Debian/Raspbian Bullseye and Ubuntu LTS). This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>pull/10834/head
rodzic
8d9a7fd228
commit
6e21ecf53f
|
@ -0,0 +1,67 @@
|
|||
name: Build mpy-cross binaries
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install packages
|
||||
run: source tools/ci.sh && ci_mpy_cross_setup
|
||||
- name: Build
|
||||
run: source tools/ci.sh && ci_mpy_cross_build
|
||||
- name: Archive binaries (Linux x64)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-linux-x64
|
||||
path: mpy-cross/build-linux-x64/mpy-cross
|
||||
- name: Archive binaries (Linux aarch64)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-linux-aarch64
|
||||
path: mpy-cross/build-linux-aarch64/mpy-cross
|
||||
- name: Archive binaries (Linux armhf)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-linux-armhf
|
||||
path: mpy-cross/build-linux-armhf/mpy-cross
|
||||
- name: Archive binaries (Windows x64)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-windows-x64
|
||||
path: mpy-cross/build-windows-x64/mpy-cross.exe
|
||||
|
||||
build-i686:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install packages
|
||||
run: source tools/ci.sh && ci_mpy_cross_i686_setup
|
||||
- name: Build
|
||||
run: source tools/ci.sh && ci_mpy_cross_i686_build
|
||||
- name: Archive binaries (Linux i686)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-linux-i686
|
||||
path: mpy-cross/build-linux-i686/mpy-cross
|
||||
- name: Archive binaries (Windows i686)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-windows-i686
|
||||
path: mpy-cross/build-windows-i686/mpy-cross.exe
|
||||
|
||||
macos:
|
||||
runs-on: macos-11.0
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.8'
|
||||
- name: Build
|
||||
run: source tools/ci.sh && ci_mpy_cross_macos_build
|
||||
- name: Archive binaries (macOS x64)
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: mpy-cross-binaries-macos-x64
|
||||
path: mpy-cross/build-macos-x64/mpy-cross
|
28
tools/ci.sh
28
tools/ci.sh
|
@ -703,3 +703,31 @@ function ci_zephyr_build {
|
|||
docker exec zephyr-ci west build -p auto -b mimxrt1050_evk
|
||||
docker exec zephyr-ci west build -p auto -b nucleo_wb55rg # for bluetooth
|
||||
}
|
||||
|
||||
########################################################################################
|
||||
# mpy-cross
|
||||
|
||||
function ci_mpy_cross_setup {
|
||||
sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu gcc-mingw-w64
|
||||
}
|
||||
|
||||
function ci_mpy_cross_build {
|
||||
make ${MAKEOPTS} -C mpy-cross BUILD=build-linux-x64
|
||||
make ${MAKEOPTS} -C mpy-cross BUILD=build-linux-aarch64 CROSS_COMPILE=aarch64-linux-gnu-
|
||||
make ${MAKEOPTS} -C mpy-cross BUILD=build-linux-armhf CROSS_COMPILE=arm-linux-gnueabihf-
|
||||
make ${MAKEOPTS} -C mpy-cross BUILD=build-windows-x64 CROSS_COMPILE=x86_64-w64-mingw32-
|
||||
}
|
||||
|
||||
function ci_mpy_cross_i686_setup {
|
||||
sudo apt-get install gcc-multilib gcc-mingw-w64-i686
|
||||
# Note gcc-mingw-w64-i686 renamed to gcc-mingw-w64-i686-win32 in jammy
|
||||
}
|
||||
|
||||
function ci_mpy_cross_i686_build {
|
||||
make ${MAKEOPTS} -C mpy-cross MICROPY_FORCE_32BIT=1 BUILD=build-linux-i686
|
||||
make ${MAKEOPTS} -C mpy-cross MICROPY_FORCE_32BIT=1 BUILD=build-windows-i686 CROSS_COMPILE=i686-w64-mingw32-
|
||||
}
|
||||
|
||||
function ci_mpy_cross_macos_build {
|
||||
make ${MAKEOPTS} -C mpy-cross BUILD=build-macos-x64
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue