Skip to content

chore(deps): update various #4022

chore(deps): update various

chore(deps): update various #4022

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 1 * *' # Monthly
env:
DEPS_APT: curl gcc clang libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev libpipewire-0.3-dev libpango1.0-dev libdisplay-info-dev
DEPS_DNF: cargo gcc clang libudev-devel libgbm-devel libxkbcommon-devel wayland-devel libinput-devel dbus-devel systemd-devel libseat-devel pipewire-devel pango-devel cairo-gobject-devel libdisplay-info-devel
DEPS_APK: cargo clang-libclang eudev-dev glib-dev libdisplay-info-dev libinput-dev libseat-dev libxkbcommon-dev mesa-dev pango-dev pipewire-dev tar
DEPS_PKG: git curl rust llvm pkgconf pixman libudev-devd libdisplay-info seatd libinput libxkbcommon pipewire mesa-libs cairo devel/glib20 gettext-runtime harfbuzz pango
jobs:
test:
strategy:
fail-fast: false
name: test
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }}
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Build tests
run: cargo test --no-run --all --exclude niri-visual-tests
- name: Test
run: cargo test --all --exclude niri-visual-tests -- --nocapture
build:
strategy:
fail-fast: false
name: check feature combinations
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }}
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Check (no default features)
run: cargo check --no-default-features
- name: Check (just dbus)
run: cargo check --no-default-features --features dbus
- name: Check (just systemd)
run: cargo check --no-default-features --features systemd
- name: Check (just dinit)
run: cargo check --no-default-features --features dinit
- name: Check (just xdp-gnome-screencast)
run: cargo check --no-default-features --features xdp-gnome-screencast
- name: Check
run: cargo check
- name: Build (with profiling)
run: cargo build --features profile-with-tracy
build-musl:
strategy:
fail-fast: false
name: alpine musl
runs-on: ubuntu-24.04
container: alpine:3.22.2@sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412 # https://hub.docker.com/layers/library/alpine/3.22.2/images/sha256-9eec16c5eada75150a82666ba0ad6df76b164a6f8582ba5cb964c0813fa56625
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install Deps
run: apk add --no-cache ${{ env.DEPS_APK }}
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Build
run: cargo build --no-default-features --features dbus,xdp-gnome-screencast
# Job that runs randomized tests for a longer period of time.
# Also runs normal slow tests.
randomized-tests:
strategy:
fail-fast: false
name: randomized and slow tests
runs-on: ubuntu-24.04
env:
RUST_BACKTRACE: 1
RUN_SLOW_TESTS: 1
PROPTEST_CASES: 200000
PROPTEST_MAX_LOCAL_REJECTS: 200000
PROPTEST_MAX_GLOBAL_REJECTS: 200000
PROPTEST_MAX_SHRINK_ITERS: 200000
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }}
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Build tests
run: cargo test --no-run --all --exclude niri-visual-tests --release
- name: Test
run: cargo test --all --exclude niri-visual-tests --release
visual-tests:
strategy:
fail-fast: false
name: visual tests
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }} libadwaita-1-dev
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Build
run: cargo build --package niri-visual-tests
msrv:
strategy:
fail-fast: false
name: msrv
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }} libadwaita-1-dev
- uses: dtolnay/rust-toolchain@a95ba095f1bb34d2845e791825c378683c8c6261 # v1.80.1
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- run: cargo check --all-targets
clippy:
strategy:
fail-fast: false
name: clippy
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ${{ env.DEPS_APT }} libadwaita-1-dev
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
with:
components: clippy
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- name: Run clippy
run: cargo clippy --all --all-targets
rustfmt:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
with:
components: rustfmt
- name: Run rustfmt
run: cargo fmt --all -- --check
fedora:
runs-on: ubuntu-24.04
container: fedora:43@sha256:2ad3073554aef41c15b2c52e968ec0540c931bc3dab8c599ca6eb6f32f3f2d14 # https://hub.docker.com/layers/library/fedora/43/images/sha256-b8f499bee9c97c7c1be0ff7b8b6e4ab72af4216c30d2365c9d474ce2d5c5fd9a
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Install dependencies
run: sudo dnf5 install -y ${{ env.DEPS_DNF }} libadwaita-devel
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- run: cargo build --all
freebsd:
runs-on: ubuntu-24.04
env:
CARGO_HOME: /home/runner/work/niri/niri/cargo-home
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
# Required for the rust-cache action to work.
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
# Remove man-db triggers to speed up Ubuntu upgrade by a minute or two during vmactions/freebsd-vm action run.
- run: |
sudo rm /var/lib/dpkg/info/man-db.*
- name: Build
uses: vmactions/freebsd-vm@966989c456d41351f095a421f60e71342d3bce41 # v1.2.1
with:
copyback: false
prepare: |
pkg update -f
pkg install -y ${{ env.DEPS_PKG }}
run: |
curl -o patch-pipewire_init 'https://cgit.freebsd.org/ports/plain/x11-wm/niri/files/patch-pipewire_init?id=f3f7e555b06d9a87d63c047ce3e82e936a11f2fe'
export CARGO_HOME="$PWD/cargo-home"
cargo fetch
( cd $CARGO_HOME/git/checkouts/pipewire-rs-*/*/; patch -p2 < $CARGO_HOME/../patch-pipewire_init; )
cargo build \
--offline \
--no-default-features --features dbus,xdp-gnome-screencast
nix:
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
steps:
- name: Free Disk Space (Ubuntu)
uses: wimpysworld/nothing-but-nix@10c936d9e46521bf923f75458e0cbd4fa309300d # main
with:
hatchet-protocol: rampage
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
show-progress: false
- name: Check flake inputs
uses: DeterminateSystems/flake-checker-action@3164002371bc90729c68af0e24d5aacf20d7c9f6 # v12
continue-on-error: true
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@c5a866b6ab867e88becbed4467b93592bce69f8a # v21
continue-on-error: true
- run: nix flake check
continue-on-error: true
publish-wiki:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs:
- publish-docs
permissions:
contents: write
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
lfs: true
show-progress: false
- uses: Andrew-Chen-Wang/github-wiki-action@6448478bd55f1f3f752c93af8ac03207eccc3213 # v5.0.3
with:
path: docs/wiki/
publish-docs:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs:
- test
permissions:
contents: write
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
lfs: true
show-progress: false
- name: Install uv
uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
working-directory: docs/
- name: Generate niri documentation
run: uv run mkdocs build
working-directory: docs/
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
- name: Generate rustdoc documentation
run: cargo doc --no-deps -p niri-ipc
- run: mkdir -p publish/niri_ipc
- run: cp -r ./target/doc/* ./publish/
- run: cp -r ./docs/site/* ./publish/
- name: Deploy documentation
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./publish
force_orphan: true