Fix blocking receiver sleeping after every read #247
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.76.0 | |
override: true | |
- name: Install packages (Linux) | |
uses: awalsh128/[email protected] | |
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: 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: Clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
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.76.0 | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Check wasm32 | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --target wasm32-unknown-unknown --lib | |
- name: Clippy wasm32 | |
env: | |
CLIPPY_CONF_DIR: "scripts/clippy_wasm" # Use scripts/clippy_wasm/clippy.toml | |
run: cargo clippy --target wasm32-unknown-unknown --lib -- -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.76.0" | |
log-level: warn | |
command: check | |
trunk: | |
name: trunk | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.76.0 | |
target: wasm32-unknown-unknown | |
override: true | |
- name: Download and install Trunk binary | |
run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- | |
- name: Build | |
run: cd example_app && ../trunk build --release --public-url $public_url --dist ../dist/ | |
env: | |
public_url: "https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}" |