name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Check (macOS)
runs-on: macos-latest
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- name: Format
run: cargo fmt --all --check
- name: Bundle the CLI as an app sidecar
run: |
cargo build --release -p wattop
mkdir -p app/binaries
cp target/release/wattop app/binaries/wattop-aarch64-apple-darwin
- name: Clippy
run: cargo clippy --workspace --release -- -D warnings
- name: Test
run: cargo test --workspace
- name: Publish dry run
run: cargo publish --dry-run -p wattop