name: CI (Pinnacle) on: push: branches: ["main"] pull_request: branches: ["main"] workflow_dispatch: env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-24.04 name: Build steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Get Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Cache stuff uses: Swatinem/rust-cache@v2 - name: Get dependencies run: sudo apt remove needrestart && sudo apt update && sudo apt install libwayland-dev libxkbcommon-dev libudev-dev libinput-dev libgbm-dev libseat-dev libsystemd-dev protobuf-compiler xwayland libegl-dev liblua5.4-dev libdisplay-info-dev - name: Setup Lua uses: leafo/gh-actions-lua@v10 with: luaVersion: "5.4" - name: Setup LuaRocks uses: leafo/gh-actions-luarocks@v4 - name: Build run: cargo build --verbose - name: Celebratory yahoo run: echo yahoo test: runs-on: ubuntu-24.04 name: Run tests steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Get Rust toolchain uses: dtolnay/rust-toolchain@stable - name: Cache stuff uses: Swatinem/rust-cache@v2 - name: Get dependencies run: sudo apt remove needrestart && sudo apt update && sudo apt install libwayland-dev libxkbcommon-dev libudev-dev libinput-dev libgbm-dev libseat-dev libsystemd-dev protobuf-compiler xwayland libegl-dev foot liblua5.4-dev libdisplay-info-dev - name: Setup Lua uses: leafo/gh-actions-lua@v10 with: luaVersion: "5.4" - name: Setup LuaRocks uses: leafo/gh-actions-luarocks@v4 - name: Setup just uses: extractions/setup-just@v1 - name: Test if: ${{ runner.debug != '1' }} run: just install test - name: Test (debug) if: ${{ runner.debug == '1' }} run: RUST_LOG=debug RUST_BACKTRACE=1 just install test -- --nocapture check-format: runs-on: ubuntu-24.04 name: Check formatting steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Get Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: Check formatting run: cargo fmt -- --check clippy-check: runs-on: ubuntu-24.04 name: Clippy check steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Get Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Cache stuff uses: Swatinem/rust-cache@v2 - name: Get dependencies run: sudo apt remove needrestart && sudo apt update && sudo apt install libwayland-dev libxkbcommon-dev libudev-dev libinput-dev libgbm-dev libseat-dev libsystemd-dev protobuf-compiler xwayland libegl-dev liblua5.4-dev libdisplay-info-dev - name: Setup Lua uses: leafo/gh-actions-lua@v10 with: luaVersion: "5.4" - name: Setup LuaRocks uses: leafo/gh-actions-luarocks@v4 - name: Clippy check run: cargo clippy --all -- -D warnings