Merge pull request #18 from KMKfw/topic-circle-builds
CircleCI: Ensure all boards can at least compile a hex on each commit
This commit is contained in:
commit
3de95fc330
@ -12,17 +12,73 @@ jobs:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v1-kmk-lint-{{ checksum "Pipfile.lock" }}
|
||||
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||
|
||||
- run: pip install pipenv==2018.7.1
|
||||
- run: pipenv install --dev
|
||||
- run: pipenv run flake8
|
||||
- run: make lint
|
||||
|
||||
- save_cache:
|
||||
key: v1-kmk-lint-{{ checksum "Pipfile.lock" }}
|
||||
key: v1-kmk-venv-{{ checksum "Pipfile.lock" }}
|
||||
paths:
|
||||
- .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:
|
||||
version: 2
|
||||
build-deploy:
|
||||
@ -33,3 +89,27 @@ workflows:
|
||||
only: /.*/
|
||||
tags:
|
||||
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"]
|
||||
path = vendor/circuitpython
|
||||
url = https://github.com/adafruit/circuitpython.git
|
||||
branch = "9b98ad779468676c3d5f1efdc06b454aaed7c407"
|
||||
ignore = dirty
|
||||
[submodule "upy-lib"]
|
||||
path = vendor/upy-lib
|
||||
url = https://github.com/micropython/micropython-lib.git
|
||||
branch = "f20d89c6aad9443a696561ca2a01f7ef0c8fb302"
|
||||
[submodule "micropython"]
|
||||
path = vendor/micropython
|
||||
url = https://github.com/micropython/micropython.git
|
||||
branch = "3cd2c281d7cf990b3afb78287a58cf4ee3f23ca5"
|
||||
ignore = dirty
|
||||
|
46
Makefile
46
Makefile
@ -32,7 +32,7 @@ lint: devdeps
|
||||
.micropython-deps: .submodules
|
||||
@echo "===> Building micropython/mpy-cross"
|
||||
@make -C vendor/micropython/mpy-cross
|
||||
@touch .circuitpy-deps
|
||||
@touch .micropython-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*
|
||||
@cp -av kmk vendor/micropython/ports/stm32/freeze/
|
||||
|
||||
circuitpy-flash-nrf:
|
||||
@echo "===> Building and 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 clean dfu-gen dfu-flash
|
||||
circuitpy-build-nrf:
|
||||
@echo "===> Building CircuitPython"
|
||||
@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
|
||||
@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
|
||||
|
||||
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
|
||||
|
||||
micropython-flash-pyboard-entrypoint:
|
||||
@ -107,8 +117,16 @@ circuitpy-flash-nrf-entrypoint:
|
||||
ifndef BOARD
|
||||
build-feather-nrf52832:
|
||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||
|
||||
flash-feather-nrf52832:
|
||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||
else
|
||||
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"
|
||||
@cp -av ${BOARD} vendor/circuitpython/ports/nrf/freeze/kmk_keyboard_user.py
|
||||
@$(MAKE) circuitpy-flash-nrf circuitpy-flash-nrf-entrypoint
|
||||
@ -117,8 +135,16 @@ endif
|
||||
ifndef BOARD
|
||||
build-teensy-3.1:
|
||||
@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
|
||||
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"
|
||||
@cp -av ${BOARD} vendor/micropython/ports/teensy/freeze/kmk_keyboard_user.py
|
||||
@$(MAKE) ARDUINO=${ARDUINO} micropython-flash-teensy3.1
|
||||
@ -127,8 +153,16 @@ endif
|
||||
ifndef BOARD
|
||||
build-pyboard:
|
||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||
|
||||
flash-pyboard:
|
||||
@echo "===> Must provide a board (usually from boards/...) to build!"
|
||||
else
|
||||
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"
|
||||
@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
|
||||
|
Loading…
Reference in New Issue
Block a user