CLI for Controller Board via UART Rx (#278) #1420
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# Run on all pull requests and all pushes to main | |
push: | |
branches: [main] | |
pull_request: | |
# Allow running this workflow manually | |
workflow_dispatch: | |
env: | |
# Set defines for builds/tests | |
DEFINES: "LOG_LEVEL=LOG_LEVEL_WARN" | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 12 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get and run setup script | |
run: | | |
wget https://raw.githubusercontent.com/uw-midsun/box/master/requirements.sh | |
chmod +x ./requirements.sh | |
sudo ./requirements.sh | |
pip install -r requirements.txt --upgrade | |
- name: Install STM32 toolchain | |
env: | |
GCC_PATH: gcc-arm-none-eabi-8-2019-q3-update | |
GCC_ARCHIVE_PATH: gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 | |
GCC_URL: https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2019q3/RC1.1/gcc-arm-none-eabi-8-2019-q3-update-linux.tar.bz2 | |
run: | | |
cd ${HOME} | |
wget -nv $GCC_URL | |
mkdir -p $GCC_PATH | |
tar -xjf $GCC_ARCHIVE_PATH | |
echo "${HOME}/${GCC_PATH}/bin" >> $GITHUB_PATH | |
- name: Force PATH to update | |
run: hash -r | |
- name: Print versions of everything | |
run: | | |
arm-none-eabi-gcc --version | |
arm-none-eabi-objcopy --version | |
arm-none-eabi-objdump --version | |
arm-none-eabi-size --version | |
arm-none-eabi-gcc-ar --version | |
arm-none-eabi-gdb --version | |
gcc --version | |
make --version | |
clang --version | |
clang-format --version | |
pylint --version | |
- name: Format and lint | |
run: | | |
scons format | |
if [[ $(git diff --name-only) ]] ; then | |
echo -e "\n unformatted files:"; | |
git diff --name-only; | |
exit 1; | |
fi | |
scons lint | |
if [ $? -ne 0 ] ; then | |
echo -e "\n lint failed"; | |
exit 1; | |
fi | |
- name: Build stm32f10x | |
id: build-stm32 | |
run: | | |
scons --platform=arm --define="${DEFINES}" | |
- name: Build and test | |
id: build-test | |
run: | | |
# Setting up vcan | |
sudo apt-get install -y linux-modules-extra-$(uname -r) | |
sudo modprobe can | |
sudo modprobe can_raw | |
sudo modprobe vcan | |
sudo ip link add dev vcan0 type vcan | |
sudo ip link set up vcan0 | |
scons --platform=x86 --define="${DEFINES}" | |
scons test --platform=x86 --define="${DEFINES}" | |
# missing make pytest_all |