Skip to content

Limit fetched submodules #82

Limit fetched submodules

Limit fetched submodules #82

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Component Build & Test CI
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the develop branch
push:
# Allows you to run this workflow manually from the Actions tab
#workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
mps-build:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
- name: Install aarch64 toolchain
run: sudo apt-get install -y {gcc,g++}-aarch64-linux-gnu
- name: Install verilator
run: sudo apt-get install -y verilator
- name: Build MPS
run: |
cd components/mission_protection_system/src
make clean
# Build, then check it created the correct output file.
make rts_bottom CONFIG=self_test
[ -f rts_bottom.self_test ]
make rts CONFIG=self_test
[ -f rts.self_test ]
make rts CONFIG=no_self_test
[ -f rts.no_self_test ]
make rts CONFIG=self_test TARGET=aarch64
[ -f rts.self_test.aarch64 ]
make rts CONFIG=no_self_test TARGET=aarch64
[ -f rts.no_self_test.aarch64 ]
- name: Upload MPS binaries
uses: actions/upload-artifact@v4
with:
name: mps-binaries
path: components/mission_protection_system/src/rts.*
mps-test:
runs-on: ubuntu-22.04
needs: mps-build
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v4
- name: Download MPS binaries
uses: actions/download-artifact@v4
with:
name: mps-binaries
- name: Display structure of downloaded files
run: |
chmod +x rts.*
mv rts.* components/mission_protection_system/src/.
- name: Install pip3
run: sudo apt-get install -y python3-pip
- name: Test MPS
run: |
cd components/mission_protection_system/tests
pip3 install -r requirements.txt
RTS_DEBUG=1 QUICK=1 python3 ./run_all.py
vmrunner:
runs-on: ubuntu-22.04
steps:
- name: Install aarch64 toolchain
run: sudo apt-get install -y gcc-aarch64-linux-gnu
- uses: hecrj/setup-rust-action@v2
with:
rust-version: 1.74
targets: aarch64-unknown-linux-gnu
- uses: actions/checkout@master
- name: Build VM runner
run: |
cd src/vm_runner
cargo build --release --target aarch64-unknown-linux-gnu