Code size reduction #1612
Workflow file for this run
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/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz -O arm-gcc.tar.xz | |
run: | | |
sudo wget https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz -O arm-gcc.tar.xz | |
sudo tar xf arm-gcc.tar.xz -C /usr/local | |
# sudo add_line_if_dne 'PATH=$PATH:/usr/local/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi/bin' /etc/profile | |
sudo rm arm-gcc.tar.xz | |
- 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}" |