Skip to content

Test

Test #99

Workflow file for this run

name: Test
on:
schedule:
- cron: "0 12 * * 6"
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
MSRV: 1.64.0
jobs:
check-msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust MSRV
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.MSRV }}
- name: Setup Rust nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
- name: Install Gazebo
run: |
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg]" \
"http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt update -qq
sudo apt install -yqq libgz-transport13-dev
- name: Cargo lock
run: cargo +nightly update -Z minimal-versions --workspace
- name: Cargo check
run: cargo +${{ env.MSRV }} check --workspace
test:
strategy:
matrix:
include:
- os: ubuntu-latest
rust: stable
transport: ignition-transport11
- os: ubuntu-latest
rust: stable
transport: gz-transport12
- os: ubuntu-latest
rust: stable
transport: gz-transport13
- os: ubuntu-latest
rust: beta
transport: gz-transport13
- os: ubuntu-latest
rust: nightly
transport: gz-transport13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Install Gazebo
run: |
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg]" \
"http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg]" \
"http://packages.osrfoundation.org/gazebo/ubuntu-prerelease $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gazebo-prerelease.list > /dev/null
sudo apt update -qq
sudo apt install -yqq lib${{ matrix.transport }}-dev
- name: Check
run: cargo build --workspace
- name: Test
run: cargo test --workspace
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Install Tools
run: cargo install cargo-audit cargo-outdated
- name: Outdated
run: cargo outdated --exit-code 1
- name: Audit
run: cargo audit