Skip to content

Feature: window minimisation #1578

Feature: window minimisation

Feature: window minimisation #1578

Workflow file for this run

name: CI (Pinnacle)
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
merge_group:
types: [checks_requested]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-24.04
name: Build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache stuff
uses: Swatinem/rust-cache@v2
- name: Get dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages:
"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"
version: 1.0
- name: Setup Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: "5.4"
- name: Setup LuaRocks
uses: leafo/gh-actions-luarocks@v5
- 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
- name: Get Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache stuff
uses: Swatinem/rust-cache@v2
- name: Get dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages:
"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"
version: 1.0
- name: Setup Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: "5.4"
- name: Setup LuaRocks
uses: leafo/gh-actions-luarocks@v5
- name: Setup just
uses: extractions/setup-just@v1
- name: Set XDG_DATA_HOME
run: echo "XDG_DATA_HOME=$HOME/.local/share" >> $GITHUB_ENV
- name: Test
if: ${{ runner.debug != '1' }}
run: just install test -- --skip process_spawn
- name: Test (debug)
if: ${{ runner.debug == '1' }}
run: RUST_LOG=debug RUST_BACKTRACE=1 just install test -- --nocapture --skip process_spawn
- name: Test Rust default config compilation
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
run: just install test default_config_compiles -- --ignored
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
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages:
"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"
version: 1.0
- name: Setup Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: "5.4"
- name: Setup LuaRocks
uses: leafo/gh-actions-luarocks@v5
- name: Clippy check
run: cargo clippy --all -- -D warnings
wlcs:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- job_name: "Core"
gtest_filter:
"SelfTest*:FrameSubmission*\
:-FrameSubmission.when_client_endlessly_requests_frame_then_callbacks_are_throttled"
# TODO:
# FrameSubmission.when_client_endlessly_requests_frame_then_callbacks_are_throttled"
- job_name: "Output"
gtest_filter: "XdgOutputV1Test*"
- job_name: "WlOutput"
gtest_filter: "WlOutputTest*"
- job_name: "Viewporter"
gtest_filter:
"WpViewporter*\
:-WpViewporterTest.when_destination_is_not_set_source_must_have_integer_size\
:WpViewporterTest.source_rectangle_out_of_buffer_bounds_raises_protocol_error\
:WpViewporterTest.assigning_a_viewport_to_a_surface_with_an_existing_viewport_is_an_error"
- job_name: "Pointer constraints"
gtest_filter:
"PointerConstraints.*\
:-PointerConstraints.when_surface_is_reselected_persistent_confined_pointer_gets_notifications\
:PointerConstraints.when_surface_is_unselected_confined_pointer_gets_unconfined_notification\
:PointerConstraints.when_surface_is_reselected_persistent_locked_pointer_gets_notifications\
:PointerConstraints.when_surface_is_unselected_locked_pointer_gets_unlocked_notification"
- job_name: "Foreign toplevel"
gtest_filter:
"ForeignToplevelManagerTest.does_not_detect_toplevels_when_test_creates_none\
:ForeignToplevelManagerTest.detects_toplevel_from_same_client\
:ForeignToplevelManagerTest.detects_toplevel_from_different_client\
:ForeignToplevelManagerTest.detects_toplevel_created_after_manager\
:ForeignToplevelManagerTest.detects_multiple_toplevels_from_multiple_clients"
# TODO:
# ForeignToplevelManagerTest.detects_toplevel_closed
- job_name: "Layer shell: anchoring"
gtest_filter:
"Anchors/LayerSurfaceErrorsTest.specifying_zero_size_without_corresponding_anchors_is_an_error*\
:Anchor/LayerSurfaceLayoutTest.is_positioned_correctly_when_explicit_size_does_not_match_buffer_size*\
:Anchor/LayerSurfaceLayoutTest.is_positioned_correctly_when_layout_changed*\
:Anchor/LayerSurfaceLayoutTest.is_positioned_correctly_after_multiple_changes*\
:Anchor/LayerSurfaceLayoutTest.surfaces_with_exclusive_zone_set_to_negative_one_do_not_respect_other_exclusive_zones*"
name: "WLCS: ${{ matrix.job_name }}"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Setup just
uses: extractions/setup-just@v1
- name: Set XDG_DATA_HOME
run: echo "XDG_DATA_HOME=$HOME/.local/share" >> $GITHUB_ENV
- name: Cache stuff
uses: Swatinem/rust-cache@v2
- name: Get dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages:
"libwayland-dev libxkbcommon-dev libudev-dev libinput-dev \
libgbm-dev libseat-dev libsystemd-dev protobuf-compiler xwayland libegl-dev \
libdisplay-info-dev libgtest-dev google-mock libboost-dev"
version: 1.0
- name: WLCS Cache
uses: actions/cache@v4
with:
path: wlcs
key: ${{ runner.os }}-wlcs-${{ hashFiles('./justfile') }}
- name: Run test suite
run: just wlcs --gtest_filter="${{ matrix.gtest_filter }}"