bread/.github/workflows/ci.yml
Breadway 0f3136ca8d
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
CI: watch main branch alongside master/dev
2026-06-19 08:38:37 +08:00

44 lines
1.2 KiB
YAML

name: CI
on:
push:
branches: [ master, main, dev ]
pull_request:
branches: [ master, main, dev ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
components: clippy, rustfmt
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libudev-dev pkg-config
- name: Cargo cache
uses: Swatinem/rust-cache@v2
with:
workspaces: |
. -> target
- name: Format check
run: cargo fmt --all --check
- name: Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
- name: Build
run: cargo build --workspace --verbose
- name: Run tests
run: cargo test --workspace --verbose
- name: Build release
run: cargo build --workspace --release
- name: Package artifacts
run: |
mkdir -p dist
tar -czf dist/bread-ubuntu-latest.tgz target/release/breadd target/release/bread
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: bread-ubuntu-latest
path: dist/*.tgz