CircleCI: Ensure all boards can at least compile a hex on each commit
This commit is contained in:
parent
a69f180260
commit
904e7641e7
@ -12,17 +12,73 @@ jobs:
|
|||||||
- checkout
|
- checkout
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- v1-kmk-lint-{{ checksum "Pipfile.lock" }}
|
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||||
|
|
||||||
- run: pip install pipenv==2018.7.1
|
- run: pip install pipenv==2018.7.1
|
||||||
- run: pipenv install --dev
|
- run: make lint
|
||||||
- run: pipenv run flake8
|
|
||||||
|
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: v1-kmk-lint-{{ checksum "Pipfile.lock" }}
|
key: v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||||
paths:
|
paths:
|
||||||
- .venv
|
- .venv
|
||||||
|
|
||||||
|
build_pyboard:
|
||||||
|
docker:
|
||||||
|
- image: 'python:3.7'
|
||||||
|
|
||||||
|
environment:
|
||||||
|
KMK_TEST: 1
|
||||||
|
PIPENV_VENV_IN_PROJECT: 1
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||||
|
|
||||||
|
- run: pip install pipenv==2018.7.1
|
||||||
|
- run: apt-get update && apt-get install -y gcc-arm-none-eabi gettext wget unzip
|
||||||
|
|
||||||
|
- run: make BOARD=boards/noop.py build-pyboard
|
||||||
|
|
||||||
|
build_feather_nrf52832:
|
||||||
|
docker:
|
||||||
|
- image: 'python:3.7'
|
||||||
|
|
||||||
|
environment:
|
||||||
|
KMK_TEST: 1
|
||||||
|
PIPENV_VENV_IN_PROJECT: 1
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||||
|
|
||||||
|
- run: pip install pipenv==2018.7.1
|
||||||
|
- run: apt-get update && apt-get install -y gcc-arm-none-eabi gettext wget unzip
|
||||||
|
|
||||||
|
- run: make BOARD=boards/noop.py build-feather-nrf52832
|
||||||
|
|
||||||
|
build_teensy_31:
|
||||||
|
docker:
|
||||||
|
- image: 'python:3.7'
|
||||||
|
|
||||||
|
environment:
|
||||||
|
KMK_TEST: 1
|
||||||
|
PIPENV_VENV_IN_PROJECT: 1
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||||
|
|
||||||
|
- run: pip install pipenv==2018.7.1
|
||||||
|
- run: apt-get update && apt-get install -y gcc-arm-none-eabi gettext wget unzip
|
||||||
|
|
||||||
|
- run: make BOARD=boards/noop.py build-teensy-3.1
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
build-deploy:
|
build-deploy:
|
||||||
@ -33,3 +89,27 @@ workflows:
|
|||||||
only: /.*/
|
only: /.*/
|
||||||
tags:
|
tags:
|
||||||
only: /.*/
|
only: /.*/
|
||||||
|
- build_pyboard:
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: /.*/
|
||||||
|
tags:
|
||||||
|
only: /.*/
|
||||||
|
requires:
|
||||||
|
- lint
|
||||||
|
- build_feather_nrf52832:
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: /.*/
|
||||||
|
tags:
|
||||||
|
only: /.*/
|
||||||
|
requires:
|
||||||
|
- lint
|
||||||
|
- build_teensy_31:
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: /.*/
|
||||||
|
tags:
|
||||||
|
only: /.*/
|
||||||
|
requires:
|
||||||
|
- lint
|
||||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,14 +1,11 @@
|
|||||||
[submodule "circuitpython"]
|
[submodule "circuitpython"]
|
||||||
path = vendor/circuitpython
|
path = vendor/circuitpython
|
||||||
url = https://github.com/adafruit/circuitpython.git
|
url = https://github.com/adafruit/circuitpython.git
|
||||||
branch = "9b98ad779468676c3d5f1efdc06b454aaed7c407"
|
|
||||||
ignore = dirty
|
ignore = dirty
|
||||||
[submodule "upy-lib"]
|
[submodule "upy-lib"]
|
||||||
path = vendor/upy-lib
|
path = vendor/upy-lib
|
||||||
url = https://github.com/micropython/micropython-lib.git
|
url = https://github.com/micropython/micropython-lib.git
|
||||||
branch = "f20d89c6aad9443a696561ca2a01f7ef0c8fb302"
|
|
||||||
[submodule "micropython"]
|
[submodule "micropython"]
|
||||||
path = vendor/micropython
|
path = vendor/micropython
|
||||||
url = https://github.com/micropython/micropython.git
|
url = https://github.com/micropython/micropython.git
|
||||||
branch = "3cd2c281d7cf990b3afb78287a58cf4ee3f23ca5"
|
|
||||||
ignore = dirty
|
ignore = dirty
|
||||||
|
46
Makefile
46
Makefile
@ -32,7 +32,7 @@ lint: devdeps
|
|||||||
.micropython-deps: .submodules
|
.micropython-deps: .submodules
|
||||||
@echo "===> Building micropython/mpy-cross"
|
@echo "===> Building micropython/mpy-cross"
|
||||||
@make -C vendor/micropython/mpy-cross
|
@make -C vendor/micropython/mpy-cross
|
||||||
@touch .circuitpy-deps
|
@touch .micropython-deps
|
||||||
|
|
||||||
circuitpy-deps: .circuitpy-deps
|
circuitpy-deps: .circuitpy-deps
|
||||||
|
|
||||||
@ -77,15 +77,25 @@ micropython-freeze-kmk-stm32: freeze-stm32-vendor-deps
|
|||||||
@rm -rf vendor/micropython/ports/stm32/freeze/kmk*
|
@rm -rf vendor/micropython/ports/stm32/freeze/kmk*
|
||||||
@cp -av kmk vendor/micropython/ports/stm32/freeze/
|
@cp -av kmk vendor/micropython/ports/stm32/freeze/
|
||||||
|
|
||||||
circuitpy-flash-nrf:
|
circuitpy-build-nrf:
|
||||||
@echo "===> Building and flashing CircuitPython with KMK and your keymap"
|
@echo "===> Building CircuitPython"
|
||||||
@make -C vendor/circuitpython/ports/nrf BOARD=feather_nrf52832 SERIAL=${AMPY_PORT} SD=s132 FROZEN_MPY_DIR=freeze clean dfu-gen dfu-flash
|
@make -C vendor/circuitpython/ports/nrf BOARD=feather_nrf52832 SERIAL=${AMPY_PORT} SD=s132 FROZEN_MPY_DIR=freeze clean all
|
||||||
|
|
||||||
micropython-flash-teensy3.1:
|
circuitpy-flash-nrf: circuitpy-build-nrf
|
||||||
|
@echo "===> Flashing CircuitPython with KMK and your keymap"
|
||||||
|
@make -C vendor/circuitpython/ports/nrf BOARD=feather_nrf52832 SERIAL=${AMPY_PORT} SD=s132 FROZEN_MPY_DIR=freeze dfu-gen dfu-flash
|
||||||
|
|
||||||
|
micropython-build-teensy3.1:
|
||||||
@cp entrypoints/teensy31.py vendor/micropython/ports/teensy/memzip_files/main.py
|
@cp entrypoints/teensy31.py vendor/micropython/ports/teensy/memzip_files/main.py
|
||||||
|
@make -C vendor/micropython/ports/teensy/ BOARD=TEENSY_3.1 all
|
||||||
|
|
||||||
|
micropython-flash-teensy3.1: micropython-build-teensy3.1
|
||||||
@make -C vendor/micropython/ports/teensy/ BOARD=TEENSY_3.1 deploy
|
@make -C vendor/micropython/ports/teensy/ BOARD=TEENSY_3.1 deploy
|
||||||
|
|
||||||
micropython-flash-pyboard:
|
micropython-build-pyboard:
|
||||||
|
@make -j4 -C vendor/micropython/ports/stm32/ BOARD=PYBV11 FROZEN_MPY_DIR=freeze all
|
||||||
|
|
||||||
|
micropython-flash-pyboard: micropython-build-pyboard
|
||||||
@make -j4 -C vendor/micropython/ports/stm32/ BOARD=PYBV11 FROZEN_MPY_DIR=freeze deploy
|
@make -j4 -C vendor/micropython/ports/stm32/ BOARD=PYBV11 FROZEN_MPY_DIR=freeze deploy
|
||||||
|
|
||||||
micropython-flash-pyboard-entrypoint:
|
micropython-flash-pyboard-entrypoint:
|
||||||
@ -107,8 +117,16 @@ circuitpy-flash-nrf-entrypoint:
|
|||||||
ifndef BOARD
|
ifndef BOARD
|
||||||
build-feather-nrf52832:
|
build-feather-nrf52832:
|
||||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
|
|
||||||
|
flash-feather-nrf52832:
|
||||||
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
else
|
else
|
||||||
build-feather-nrf52832: lint devdeps circuitpy-deps circuitpy-freeze-kmk-nrf
|
build-feather-nrf52832: lint devdeps circuitpy-deps circuitpy-freeze-kmk-nrf
|
||||||
|
@echo "===> Preparing keyboard script for bundling into CircuitPython"
|
||||||
|
@cp -av ${BOARD} vendor/circuitpython/ports/nrf/freeze/kmk_keyboard_user.py
|
||||||
|
@$(MAKE) circuitpy-build-nrf
|
||||||
|
|
||||||
|
flash-feather-nrf52832: lint devdeps circuitpy-deps circuitpy-freeze-kmk-nrf
|
||||||
@echo "===> Preparing keyboard script for bundling into CircuitPython"
|
@echo "===> Preparing keyboard script for bundling into CircuitPython"
|
||||||
@cp -av ${BOARD} vendor/circuitpython/ports/nrf/freeze/kmk_keyboard_user.py
|
@cp -av ${BOARD} vendor/circuitpython/ports/nrf/freeze/kmk_keyboard_user.py
|
||||||
@$(MAKE) circuitpy-flash-nrf circuitpy-flash-nrf-entrypoint
|
@$(MAKE) circuitpy-flash-nrf circuitpy-flash-nrf-entrypoint
|
||||||
@ -117,8 +135,16 @@ endif
|
|||||||
ifndef BOARD
|
ifndef BOARD
|
||||||
build-teensy-3.1:
|
build-teensy-3.1:
|
||||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
|
|
||||||
|
flash-teensy-3.1:
|
||||||
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
else
|
else
|
||||||
build-teensy-3.1: lint devdeps micropython-deps micropython-freeze-kmk-teensy3.1
|
build-teensy-3.1: lint devdeps micropython-deps micropython-freeze-kmk-teensy3.1
|
||||||
|
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
||||||
|
@cp -av ${BOARD} vendor/micropython/ports/teensy/freeze/kmk_keyboard_user.py
|
||||||
|
@$(MAKE) ARDUINO=${ARDUINO} micropython-build-teensy3.1
|
||||||
|
|
||||||
|
flash-teensy-3.1: lint devdeps micropython-deps micropython-freeze-kmk-teensy3.1
|
||||||
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
||||||
@cp -av ${BOARD} vendor/micropython/ports/teensy/freeze/kmk_keyboard_user.py
|
@cp -av ${BOARD} vendor/micropython/ports/teensy/freeze/kmk_keyboard_user.py
|
||||||
@$(MAKE) ARDUINO=${ARDUINO} micropython-flash-teensy3.1
|
@$(MAKE) ARDUINO=${ARDUINO} micropython-flash-teensy3.1
|
||||||
@ -127,8 +153,16 @@ endif
|
|||||||
ifndef BOARD
|
ifndef BOARD
|
||||||
build-pyboard:
|
build-pyboard:
|
||||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
|
|
||||||
|
flash-pyboard:
|
||||||
|
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||||
else
|
else
|
||||||
build-pyboard: lint devdeps micropython-deps micropython-freeze-kmk-stm32
|
build-pyboard: lint devdeps micropython-deps micropython-freeze-kmk-stm32
|
||||||
|
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
||||||
|
@cp -av ${BOARD} vendor/micropython/ports/stm32/freeze/kmk_keyboard_user.py
|
||||||
|
@$(MAKE) AMPY_PORT=/dev/ttyACM0 AMPY_BAUD=115200 micropython-build-pyboard
|
||||||
|
|
||||||
|
flash-pyboard: lint devdeps micropython-deps micropython-freeze-kmk-stm32
|
||||||
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
@echo "===> Preparing keyboard script for bundling into MicroPython"
|
||||||
@cp -av ${BOARD} vendor/micropython/ports/stm32/freeze/kmk_keyboard_user.py
|
@cp -av ${BOARD} vendor/micropython/ports/stm32/freeze/kmk_keyboard_user.py
|
||||||
@$(MAKE) AMPY_PORT=/dev/ttyACM0 AMPY_BAUD=115200 micropython-flash-pyboard micropython-flash-pyboard-entrypoint
|
@$(MAKE) AMPY_PORT=/dev/ttyACM0 AMPY_BAUD=115200 micropython-flash-pyboard micropython-flash-pyboard-entrypoint
|
||||||
|
Loading…
x
Reference in New Issue
Block a user