A sample repo to demonstrate how to create continuous integration with test automation for STM32 projects
Branch: master
Clone or download
Latest commit 049eda1 Nov 12, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci moving tests our of build folder Jun 17, 2018
mbed lib mbed that was missing Jun 17, 2018
.gitignore updating gitigonre Jun 17, 2018
.mbed first commit Jun 17, 2018
.travis.yml fixing script path Jun 17, 2018
GettingStarted.html first commit Jun 17, 2018
LICENSE Initial commit Jun 17, 2018
Makefile first commit Jun 17, 2018
README.md Update README.md Sep 2, 2018
board.json moving tests our of build folder Jun 17, 2018
main.cpp Update main.cpp Jul 30, 2018
mbed.bld first commit Jun 17, 2018
mbed_config.h first commit Jun 17, 2018
test.py Update test.py Nov 12, 2018

README.md

STM32 Continuous Integration example

A sample repo to demonstrate how continuous integration works on STM32 projects. This sample is based on the following tutorial. Follow the instructions in the link to set this up yourself.

Click here to see the latest build result and artifact on CircleCI - CircleCI

Here's another example of a working continuous integration tool using Travis CI - Build Status

What's in this sample

  1. We used an mBed STM32 deboucer project to demonstrate how to test a button with a debouncer. The code turns on an LED every time the button is pressed.
  2. We then created a Docker container with the toolchain installed.
  3. We create a Jumper test script that presses the button multiple times, but thanks to the debouncer it should only count as one.
  4. Next, we configured CircleCI and TravisCI to build and run our testsour project every time we push new code to GitHub.

For full details and walkthrough, head to the following link.

How to run the build server locally

Prerequisites

Docker - (if you’re looking to implement a continuous integration process, Docker is one of the building blocks you’ll need).

Run these commands

docker pull jumperio/vlab-gcc-arm
git clone https://github.com/Jumperr-labs/STM32_Button_Debounce.git
cd STM32_Button_Debounce
docker run --rm -v $PWD:/my_files_in_docker --entrypoint /usr/bin/make jumperio/vlab-gcc-arm -C my_files_in_docker
docker run --rm -v $PWD:/my_files_in_docker -w /my_files_in_docker --entrypoint python jumperio/vlab-gcc-arm test.py

Next steps

The following post demonstrates how to use CircleCI, TravisCI and Docker to create a continuous integration process with test automation. See this link for more details.

Check out this test automation and continuous integration for embedded software blog to learn more.

To Start using the Jumper Virtual Lab, click here for more details.