status bar
git clone https://git.lucas.co/cce-status-interface.git
.github/workflows/ci.yml (1.5K)
1 name: CI
2
3 on:
4 push:
5 pull_request:
6 workflow_dispatch:
7
8 concurrency:
9 group: ${{ github.workflow }}-${{ github.ref }}
10 cancel-in-progress: true
11
12 env:
13 CARGO_TERM_COLOR: always
14 # Warnings are errors; the crate is clippy-clean (house-style allowances in
15 # Cargo.toml's [lints.clippy]), so keep it so.
16 RUSTFLAGS: -D warnings
17
18 jobs:
19 test:
20 runs-on: ubuntu-24.04
21 timeout-minutes: 30
22 env:
23 # A known face set for anything that shapes text (cce-ui reads it from here).
24 CCE_FONTS_DIR: /usr/share/fonts/truetype/liberation
25 steps:
26 - uses: actions/checkout@v5
27 # libwayland-dev, libxkbcommon-dev: what cce-ui links through pkg-config.
28 - name: Install system packages
29 run: |
30 sudo apt-get update
31 sudo apt-get install -y --no-install-recommends \
32 pkg-config libwayland-dev libxkbcommon-dev fonts-liberation
33 - uses: dtolnay/rust-toolchain@stable
34 - uses: Swatinem/rust-cache@v2
35 - name: Build (all targets)
36 run: cargo build --all-targets
37 - name: Test
38 run: cargo test
39
40 clippy:
41 runs-on: ubuntu-24.04
42 timeout-minutes: 20
43 steps:
44 - uses: actions/checkout@v5
45 - name: Install system packages
46 run: |
47 sudo apt-get update
48 sudo apt-get install -y --no-install-recommends pkg-config libwayland-dev libxkbcommon-dev
49 - uses: dtolnay/rust-toolchain@stable
50 with:
51 components: clippy
52 - uses: Swatinem/rust-cache@v2
53 - run: cargo clippy --all-targets -- -D warnings