174 motion control add motor interface and dcmotor implementation #559
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: Compilation Workflow | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
compilation: | |
runs-on: ubuntu-22.04 | |
env: | |
RIOTBASE: ${GITHUB_WORKSPACE}/RIOT | |
steps: | |
- name: Setup git | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "COGIP" | |
- name: Clone mcu-firmware | |
uses: actions/checkout@v3 | |
with: | |
path: 'mcu-firmware' | |
- name: Clone RIOT | |
uses: actions/checkout@v3 | |
with: | |
repository: 'cogip/RIOT' | |
ref: 'cogip_master' | |
path: 'RIOT' | |
- name: Install toolchain | |
run: | | |
# use apt-spy2 to select closest apt mirror, | |
# which helps avoid connectivity issues in Azure; | |
# see https://github.com/actions/virtual-environments/issues/675 | |
sudo gem install apt-spy2 | |
sudo apt-spy2 check | |
sudo apt-spy2 fix --commit | |
# end of apt-spy2 workaround | |
sudo apt-get update | |
sudo apt-get install -qq build-essential gcc-multilib g++-multilib gcc-arm-none-eabi libnewlib-arm-none-eabi uncrustify protobuf-compiler quilt cppcheck libc6-dev | |
gcc --version | |
arm-none-eabi-gcc --version | |
- name: Install Python packages | |
run: | | |
sudo apt-get install -qq python3-pip | |
cd mcu-firmware | |
python3 -m venv venv | |
source venv/bin/activate | |
python3 -m pip install -r requirements.txt | |
deactivate | |
- name: Apply RIOT patches | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make riot-patches | |
deactivate | |
- name: Compile | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make | |
deactivate | |
- name: Distclean | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make distclean -j | |
deactivate | |
- name: Re-compile (check successive builds) | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make -j | |
make -j | |
deactivate | |
- name: Compile - Native board | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make BOARD=cogip-native | |
deactivate | |
- name: Distclean | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make distclean -j | |
deactivate | |
- name: Re-compile (check successive builds) - Native board | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make -j BOARD=cogip-native | |
make -j BOARD=cogip-native | |
deactivate | |
- name: Clean all (distclean + git clean) | |
run: | | |
cd mcu-firmware | |
source venv/bin/activate | |
make distclean -j | |
git clean -dxf | |
deactivate | |
- name: Check coding rules | |
run: | | |
cd mcu-firmware | |
make check-codingrules |