mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-04-20 11:54:23 +02:00
79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
name: Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [ "master" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: '-Dwarnings'
|
|
|
|
jobs:
|
|
rustfmt:
|
|
runs-on: ubuntu-latest
|
|
name: 'Formatting'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Check formatting
|
|
run: cargo fmt --check
|
|
|
|
|
|
clippy-base:
|
|
runs-on: ubuntu-latest
|
|
name: 'Clippy (Base features)'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
name: Cache dependencies
|
|
|
|
- name: Install build deps
|
|
run: ./.github/scripts/ubuntu_setup.sh
|
|
|
|
- name: Clippy
|
|
run: cargo clippy --no-default-features --features config+json
|
|
env:
|
|
# Allow some warnings through as we'll never get it perfect in a zero-feature situation
|
|
RUSTFLAGS: '-A unused-imports -A unused-variables -A unused-mut -A dead-code'
|
|
|
|
|
|
clippy-all:
|
|
runs-on: ubuntu-latest
|
|
name: 'Clippy (All features)'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
name: Cache dependencies
|
|
|
|
- name: Install build deps
|
|
run: ./.github/scripts/ubuntu_setup.sh
|
|
|
|
- name: Clippy
|
|
run: cargo clippy --all-targets --all-features
|
|
|
|
|
|
build:
|
|
name: 'Build & Test'
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
name: Cache dependencies
|
|
|
|
- name: Install build deps
|
|
run: ./.github/scripts/ubuntu_setup.sh
|
|
|
|
- name: Build
|
|
run: cargo build --verbose
|
|
|
|
- name: Run tests
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|