mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-04-19 19:34:24 +02:00
85 lines
No EOL
1.9 KiB
YAML
85 lines
No EOL
1.9 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: |
|
|
sudo apt-get update
|
|
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
|
|
- 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: |
|
|
sudo apt-get update
|
|
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
|
|
- 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: |
|
|
sudo apt-get update
|
|
sudo apt-get install libgtk-3-dev libgtk-layer-shell-dev libpulse-dev
|
|
|
|
- name: Build
|
|
run: cargo build --verbose
|
|
|
|
- name: Run tests
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test |