Unify repository based on https://github.com/rerun-io/rerun_template/ #143
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
# Copied from https://github.com/rerun-io/rerun_template | |
on: [push, pull_request] | |
name: Rust | |
env: | |
# --cfg=web_sys_unstable_apis is required to enable the web_sys clipboard API which egui_web uses | |
# https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html | |
# https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html | |
RUSTFLAGS: -D warnings --cfg=web_sys_unstable_apis | |
RUSTDOCFLAGS: -D warnings | |
jobs: | |
rust-check: | |
name: Rust | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: default | |
toolchain: 1.73.0 | |
override: true | |
- name: Install packages (Linux) | |
uses: awalsh128/cache-apt-pkgs-action@v1.3.0 | |
with: | |
# Some deps used by eframe: | |
packages: libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev | |
version: 1.0 | |
execute_install_scripts: true | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Rustfmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Install cargo-cranky | |
uses: baptiste0928/cargo-install@v1 | |
with: | |
crate: cargo-cranky | |
- name: check --all-features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-features --all-targets | |
- name: check default features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-targets | |
- name: check --no-default-features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --no-default-features --lib --all-targets | |
- name: Test doc-tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --doc --all-features | |
- name: cargo doc --lib | |
uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --lib --no-deps --all-features | |
- name: cargo doc --document-private-items | |
uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --document-private-items --no-deps --all-features | |
- name: Build tests | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features --no-run | |
- name: Run test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features | |
- name: Cranky | |
uses: actions-rs/cargo@v1 | |
with: | |
command: cranky | |
args: --all-targets --all-features -- -D warnings | |
# --------------------------------------------------------------------------- | |
check_wasm: | |
name: Check wasm32 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.73.0 | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo-cranky | |
uses: baptiste0928/cargo-install@v1 | |
with: | |
crate: cargo-cranky | |
- name: Check wasm32 | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --target wasm32-unknown-unknown | |
- name: Cranky wasm32 | |
env: | |
CLIPPY_CONF_DIR: "scripts/clippy_wasm" # Use scripts/clippy_wasm/clippy.toml | |
run: cargo cranky --target wasm32-unknown-unknown -- -D warnings | |
# --------------------------------------------------------------------------- | |
cargo-deny: | |
name: Check Rust dependencies (cargo-deny) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
with: | |
rust-version: "1.73.0" | |
log-level: warn | |
command: check |