Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
180 lines (165 sloc) 4.38 KB
version: 2
jobs:
# Rust build + tests
# Run for all PR commits
rust_check_x86:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo check
# Run for all PR commits
rust_check_mbm2:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run:
name: Cargo check for BBB
command: cargo check --target arm-unknown-linux-gnueabihf
environment:
PKG_CONFIG_ALLOW_CROSS: 1
CC: /usr/bin/bbb_toolchain/usr/bin/arm-linux-gcc
CXX: /usr/bin/bbb_toolchain/usr/bin/arm-linux-g++
# Run for all PR commits
rust_check_iobc:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run:
name: Cargo check for iOBC
command: cargo check --target armv5te-unknown-linux-gnueabi
environment:
PKG_CONFIG_ALLOW_CROSS: 1
CC: /usr/bin/iobc_toolchain/usr/bin/arm-linux-gcc
CXX: /usr/bin/iobc_toolchain/usr/bin/arm-linux-g++
# Rust testing
# Run for all PR commits
rust_test:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo test -j 8
# Rust testing - large upload test
# Run for all PR commits
rust_test_large_upload:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo run --bin large_upload
# Rust testing - large download
# Run for all PR commits
rust_test_large_download:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo run --bin large_download
# Rust testing - Check formatting
# Run for all PR commits
rust_fmt:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo fmt -- --check
# Rust testing - Clippy linter
# Run for all PR commits
rust_clippy:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: cargo clippy
# CLI, C and Python testing
# Run for all PR commits
non_rust_tests:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: python3 tools/ci_c.py
- run: python3 hal/python-hal/i2c/test_i2c.py
- run: cd hal/python-hal/i2c; python3 setup.py install
- run: cd apis/pumpkin-mcu-api; python3 test_mcu_api.py
- run: cd apis/app-api/python; python3 test_app_api.py
# Create and push new git version tag (n.n.n+{new build number})
# Run when code is merged into master
deploy:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: pip install semantic-version
- run: ./deploy.sh
# Generate and upload new docs
# Run when code is merged into master or when an official release tag is generated
docs:
docker:
- image: kubos/kubos-dev:latest
steps:
- checkout
- run: ssh-keyscan docs.kubos.co >> ~/.ssh/known_hosts
- run: pip install semantic-version
- run: ./prep_docs.sh
- run: ./deploy_docs.sh
workflows:
version: 2
build:
jobs:
- rust_check_x86:
filters:
branches:
ignore: master
- rust_check_mbm2:
filters:
branches:
ignore: master
- rust_check_iobc:
filters:
branches:
ignore: master
- rust_test:
filters:
branches:
ignore: master
- rust_test_large_download:
filters:
branches:
ignore: master
- rust_test_large_upload:
filters:
branches:
ignore: master
- rust_fmt:
filters:
branches:
ignore: master
- rust_clippy:
filters:
branches:
ignore: master
- non_rust_tests:
filters:
branches:
ignore: master
deploy:
jobs:
- deploy:
filters:
branches:
only: master
- docs:
requires:
- deploy
release:
jobs:
- docs:
filters:
tags:
only: /^[0-9]+(\.[0-9]+)*$/
branches:
ignore: /.*/
You can’t perform that action at this time.