Test all workspace packages in push and PR CI
This commit is contained in:
1 parent
dcbcec6ba4
commit
966c8988eb
1 file changed
+16
-11
@@ -0,0 +1,74 @@
|
||||
name: Workspace tests and capture checks
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- "compositor/**"
|
||||
- "crates/**"
|
||||
- "shell/**"
|
||||
- "portal/**"
|
||||
- "feresectl/**"
|
||||
- "scripts/**"
|
||||
- "packaging/**"
|
||||
- "assets/**"
|
||||
- "LICENSE"
|
||||
- "rust-toolchain.toml"
|
||||
- "rustfmt.toml"
|
||||
- "Cargo.toml"
|
||||
- "Cargo.lock"
|
||||
- ".github/workflows/workspace-checks.yml"
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "compositor/**"
|
||||
- "crates/**"
|
||||
- "shell/**"
|
||||
- "portal/**"
|
||||
- "feresectl/**"
|
||||
- "scripts/**"
|
||||
- "packaging/**"
|
||||
- "assets/**"
|
||||
- "LICENSE"
|
||||
- "rust-toolchain.toml"
|
||||
- "rustfmt.toml"
|
||||
- "Cargo.toml"
|
||||
- "Cargo.lock"
|
||||
- ".github/workflows/workspace-checks.yml"
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: workspace-checks-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
workspace:
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
CARGO_BUILD_JOBS: "2"
|
||||
CARGO_INCREMENTAL: "0"
|
||||
CARGO_PROFILE_DEV_DEBUG: "0"
|
||||
CARGO_PROFILE_TEST_DEBUG: "0"
|
||||
XDG_RUNTIME_DIR: /tmp/ferese-workspace-runtime
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Install workspace build and test dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential pkg-config dbus-daemon libwayland-dev \
|
||||
libxkbcommon-dev xkb-data libinput-dev libudev-dev libseat-dev libgbm-dev \
|
||||
libegl-dev libegl-mesa0 libgl1-mesa-dri libdrm-dev libfontconfig1-dev libfreetype-dev libexpat1-dev xauth \
|
||||
clang libclang-dev libpipewire-0.3-dev libspa-0.2-dev libglib2.0-dev libgstreamer1.0-dev libpam-modules
|
||||
- name: Create private test runtime directory
|
||||
run: install -d -m 0700 "$XDG_RUNTIME_DIR"
|
||||
- name: Install Rust
|
||||
run: rustup toolchain install 1.95.0 --profile minimal
|
||||
- name: Test every workspace package
|
||||
run: cargo +1.95.0 test --locked --workspace --no-fail-fast -- --nocapture
|
||||
- name: Test capture privacy, resize dependencies and cursor composition
|
||||
env:
|
||||
LIBGL_ALWAYS_SOFTWARE: "1"
|
||||
EGL_PLATFORM: surfaceless
|
||||
run: |
|
||||
cargo +1.95.0 test --locked -p ferese state::capture_privacy::tests -- --ignored --nocapture
|
||||
cargo +1.95.0 test --locked -p ferese backends::direct::capture::tests::capture_recomposes_cursor_without_touching_the_display_target -- --ignored --nocapture
|
||||
cargo +1.95.0 test --locked -p ferese winit::tests::capture_failure_restores_display_target_and_subsequent_frames_render -- --ignored --nocapture
|
||||
Reference in new issue
Block a user