Build #208
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
# Copyright (c) 2024 Linaro LTD | |
# SPDX-License-Identifier: Apache-2.0 | |
name: Build | |
# Build the rust samples and tests using the current Zephyr. | |
on: | |
push: | |
branches: | |
- main | |
- v*-branch | |
pull_request: | |
branches: | |
- main | |
- v*-branch | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-22.04] | |
runs-on: ${{ matrix.os }} | |
env: | |
WGET_ARGS: "-q" | |
RENODE_VERSION: "1.15.3" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
path: apptest | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Setup Zephyr project | |
uses: zephyrproject-rtos/action-zephyr-setup@v1 | |
with: | |
app-path: apptest | |
manifest-file-name: ci-manifest.yml | |
toolchains: arm-zephyr-eabi:riscv64-zephyr-elf | |
- name: Install Rust Targets | |
shell: bash | |
run: | | |
rustup target add riscv32i-unknown-none-elf | |
rustup target add riscv64imac-unknown-none-elf | |
rustup target add thumbv6m-none-eabi | |
rustup target add thumbv7em-none-eabi | |
rustup target add thumbv7m-none-eabi | |
rustup target add thumbv8m.main-none-eabi | |
# Note that Renode is only provided for x86_64 targets. This matches the github runners. | |
- name: Install Renode | |
shell: bash | |
run: | | |
set -e | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF | |
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list | |
sudo apt-get -y update | |
wget ${WGET_ARGS} https://github.com/renode/renode/releases/download/v${RENODE_VERSION}/renode_${RENODE_VERSION}_amd64.deb | |
sudo apt-get install -y ./renode_${RENODE_VERSION}_amd64.deb | |
rm renode_${RENODE_VERSION}_amd64.deb | |
pip3 install -r /opt/renode/tests/requirements.txt --no-cache-dir | |
- name: Build firmware | |
working-directory: apptest | |
shell: bash | |
run: | | |
cargo --version | |
lscpu | |
df -h | |
west twister -M all -T samples -T tests -v --inline-logs --integration -j 4 \ | |
--timeout-multiplier 2 \ | |
$(cat etc/platforms.txt) |