name: 'Rust Test CI'
on:
push:
branches:
pull_request:
branches:
jobs:
build_and_test:
runs-on: ubuntu-latest
env:
CARGO_NEXTEST_CACHE_KEY: cargo-nextest-v1
steps:
- name: 'Checkout code'
uses: actions/checkout@v4
- name: 'Install system packages'
run: |
sudo apt-get update
sudo apt-get install -y gcc-arm-none-eabi gnuplot python3-tk
- name: 'Cache cargo-nextest'
id: cache-cargo-nextest
uses: actions/cache@v4
with:
path: ~/.cargo/bin/cargo-nextest
key: ${{ runner.os }}-${{ env.CARGO_NEXTEST_CACHE_KEY }}
- name: 'Install cargo-nextest'
if: steps.cache-cargo-nextest.outputs.cache-hit != 'true'
run: cargo install cargo-nextest --locked
- name: 'Build and test'
run: python3 publish_crates.py