Building, Testing, Running, and Releasing
Setup
Follow the instructions in Development Environment to setup the required tools.
Make a clone of the repository:
git clone git@github.com:empriselab/mote-core.git
or
git clone https://github.com/empriselab/mote-core.git
Build
Compile source and generate executable artifacts.
# Build Mote's firmware
just firmware::build
# Build the configuration webpage
just config::build
# Build the book
just book::build
Test
Run unit tests.
# Run api test cases
just api::test
# Run ffi test cases
just ffi::test
# Test code examples in the book
just book::test
Run
Run a target.
Running firmware requires connecting to Mote using a SWD debug probe.
# Deploy firmware to Mote (first time doing so)
just firmware::provision
# Deploy firmware to Mote (any time after)
just firmware::deploy
# Serve the configuration page
just config::run-dev
# Serve / open the book
just book::open
Release
Release artifacts are built and uploaded automatically via continuous integration.
mote-firmware- Released on any tag to
mote-cotematching the patternmote-firmware-vX.X.X, wherevX.X.Xmatches the semantic version of themote-firmwarecrate. - Automated via this GitHub Action.
- Released on any tag to
mote-ffi- Released on any tag to
mote-cotematching the patternmote-ffi-vX.X.X, wherevX.X.Xmatches the semantic version of themote-firmwarecrate. - C++ library released via the GitHub Action
- Python library released via the GitHub Action
- Released on any tag to
mote-bookandmote-configuration- Deployed to GitHub pages via the GitHub Action.