kmk_firmware/.circleci/config.yml

177 lines
5.5 KiB
YAML

version: 2
jobs:
lint:
docker:
- image: 'ubuntu:bionic'
environment:
KMK_TEST: 1
PIPENV_VENV_IN_PROJECT: 1
steps:
- run: apt-get update && apt-get install -y software-properties-common git ssh wget
- run: add-apt-repository ppa:deadsnakes/ppa
- run: apt-get update && apt-get install -y python3.7 python3.7-dev build-essential
- run: wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
- run: python3.7 /tmp/get-pip.py
- run: python3.7 -m pip install pip==18.0 # downgrade pip to work around https://github.com/pypa/pipenv/issues/2924
- checkout
- restore_cache:
keys:
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
- run: python3.7 -m pip install pipenv==2018.7.1
- run: make lint
- save_cache:
key: v1-kmk-venv-{{ checksum "Pipfile.lock" }}
paths:
- .venv
test:
docker:
- image: 'ubuntu:bionic'
environment:
KMK_TEST: 1
PIPENV_VENV_IN_PROJECT: 1
steps:
- run: apt-get update && apt-get install -y software-properties-common git ssh
- run: add-apt-repository ppa:team-gcc-arm-embedded/ppa
- run: add-apt-repository ppa:deadsnakes/ppa
- run: apt-get update && apt-get install -y gcc-arm-embedded gettext wget unzip rsync python3.7 python3.7-dev build-essential
- run: wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
- run: python3.7 /tmp/get-pip.py
- run: python3.7 -m pip install pip==18.0 # downgrade pip to work around https://github.com/pypa/pipenv/issues/2924
- checkout
- restore_cache:
keys:
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
- run: python3.7 -m pip install pipenv==2018.7.1
- run: make test
build_feather_m4_express:
docker:
- image: 'ubuntu:bionic'
environment:
KMK_TEST: 1
PIPENV_VENV_IN_PROJECT: 1
steps:
- run: apt-get update && apt-get install -y software-properties-common git ssh
- run: add-apt-repository ppa:team-gcc-arm-embedded/ppa
- run: add-apt-repository ppa:deadsnakes/ppa
- run: apt-get update && apt-get install -y gcc-arm-embedded gettext wget unzip rsync python3.7 python3.7-dev build-essential
- run: wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
- run: python3.7 /tmp/get-pip.py
- run: python3.7 -m pip install pip==18.0 # downgrade pip to work around https://github.com/pypa/pipenv/issues/2924
- checkout
- restore_cache:
keys:
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
- run: python3.7 -m pip install pipenv==2018.7.1
- run: make SKIP_KEYMAP_VALIDATION=1 USER_KEYMAP=user_keymaps/noop.py build-feather-m4-express
build_itsybitsy_m4_express:
docker:
- image: 'ubuntu:bionic'
environment:
KMK_TEST: 1
PIPENV_VENV_IN_PROJECT: 1
steps:
- run: apt-get update && apt-get install -y software-properties-common git ssh
- run: add-apt-repository ppa:team-gcc-arm-embedded/ppa
- run: add-apt-repository ppa:deadsnakes/ppa
- run: apt-get update && apt-get install -y gcc-arm-embedded gettext wget unzip rsync python3.7 python3.7-dev build-essential
- run: wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
- run: python3.7 /tmp/get-pip.py
- run: python3.7 -m pip install pip==18.0 # downgrade pip to work around https://github.com/pypa/pipenv/issues/2924
- checkout
- restore_cache:
keys:
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
- run: python3.7 -m pip install pipenv==2018.7.1
- run: make SKIP_KEYMAP_VALIDATION=1 USER_KEYMAP=user_keymaps/noop.py build-itsybitsy-m4-express
build_pyboard:
docker:
- image: 'ubuntu:bionic'
environment:
KMK_TEST: 1
PIPENV_VENV_IN_PROJECT: 1
steps:
- run: apt-get update && apt-get install -y software-properties-common git ssh
- run: add-apt-repository ppa:team-gcc-arm-embedded/ppa
- run: add-apt-repository ppa:deadsnakes/ppa
- run: apt-get update && apt-get install -y gcc-arm-embedded gettext wget unzip rsync python3.7 python3.7-dev build-essential
- run: wget https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py
- run: python3.7 /tmp/get-pip.py
- run: python3.7 -m pip install pip==18.0 # downgrade pip to work around https://github.com/pypa/pipenv/issues/2924
- checkout
- restore_cache:
keys:
- v1-kmk-venv-{{ checksum "Pipfile.lock" }}
- run: python3.7 -m pip install pipenv==2018.7.1
- run: make SKIP_KEYMAP_VALIDATION=1 USER_KEYMAP=user_keymaps/noop.py build-pyboard
workflows:
version: 2
build-deploy:
jobs:
- lint:
filters:
branches:
only: /.*/
tags:
only: /.*/
- test:
filters:
branches:
only: /.*/
tags:
only: /.*/
requires:
- lint
- build_feather_m4_express:
filters:
branches:
only: /.*/
tags:
only: /.*/
requires:
- test
- build_itsybitsy_m4_express:
filters:
branches:
only: /.*/
tags:
only: /.*/
requires:
- test
- build_pyboard:
filters:
branches:
only: /.*/
tags:
only: /.*/
requires:
- test