libcosmic-yoda/.github/workflows/ci.yml
2026-06-26 17:25:28 +02:00

84 lines
2.3 KiB
YAML

name: Continuous Integration
on:
push:
branches:
- master
pull_request:
jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
rustflags: ""
- name: Format
run: cargo +nightly fmt -- --check
tests:
needs:
- format
strategy:
fail-fast: false
matrix:
test_args:
- --no-default-features --features "" # for cosmic-comp, don't remove!
- --no-default-features --features "winit_debug"
- --no-default-features --features "winit_tokio"
- --no-default-features --features "winit"
- --no-default-features --features "winit_wgpu"
- --no-default-features --features "wayland"
- --no-default-features --features "applet"
- --no-default-features --features "desktop,smol"
- --no-default-features --features "desktop,tokio"
- -p cosmic-theme
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
with:
submodules: recursive
- name: System dependencies
run: sudo apt-get update; sudo apt-get install -y libxkbcommon-dev libwayland-dev
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
- name: Test features
run: cargo test ${{ matrix.test_args }} -- --test-threads=1
env:
RUST_BACKTRACE: full
examples:
needs:
- format
strategy:
fail-fast: false
matrix:
examples:
- "application"
- "open-dialog"
- "context-menu"
- "nav-context"
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
with:
submodules: recursive
- name: System dependencies
run: sudo apt-get update; sudo apt-get install -y libxkbcommon-dev libwayland-dev
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
- name: Check example
run: cargo check -p "${{ matrix.examples }}"
env:
RUST_BACKTRACE: full