# Gitlab CI template for building MicroPython for RPi Pico # use image: https://hub.docker.com/r/micropython/build-micropython-arm for x86 runners # the image below is based on micropython/Dockerfile and is intended for ARM runners image: opencube-micropython-build:latest variables: GIT_STRATEGY: clone # always do a clean build GIT_DEPTH: 10 GIT_SUBMODULE_STRATEGY: normal GIT_SUBMODULE_DEPTH: 1 build micropython firmware: stage: build script: - make -C micropython/mpy/ports/rp2 submodules # HACK: patch a bug in Pico SDK (https://github.com/raspberrypi/pico-sdk/issues/737) - patch -p1 --forward -i micropython/timer-bug.patch # HACK: add a separate OpenCube board with slower flash clocks - patch -p1 --forward -i micropython/opencube-board.patch - make -C micropython/mpy/mpy-cross -j $(nproc) - make -C micropython/mpy/ports/rp2 BOARD=OPENCUBE clean - make -C micropython/mpy/ports/rp2 BOARD=OPENCUBE USER_C_MODULES=$(pwd)/micropython/modules/micropython.cmake -j $(nproc) - cp micropython/mpy/ports/rp2/build-OPENCUBE/firmware.uf2 opencube_micropython_without_pylibs.uf2 - make -C micropython/mpy/ports/rp2 BOARD=OPENCUBE clean - make -C micropython/mpy/ports/rp2 BOARD=OPENCUBE USER_C_MODULES=$(pwd)/micropython/modules/micropython.cmake FROZEN_MANIFEST=$(pwd)/micropython/frozen_manifest.py -j $(nproc) - cp micropython/mpy/ports/rp2/build-OPENCUBE/firmware.uf2 opencube_micropython_with_pylibs.uf2 artifacts: paths: - opencube_micropython_without_pylibs.uf2 - opencube_micropython_with_pylibs.uf2 build sensor firmwares: stage: build script: - make -f makefile.ci -C oc_sensors -j $(nproc) artifacts: paths: - oc_sensors/*.elf - oc_sensors/*.bin