forked from github-starred/hyprgui
79 lines
1.7 KiB
YAML
79 lines
1.7 KiB
YAML
name: Rust
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
paths:
|
|
- '**/*.rs'
|
|
- 'src/**'
|
|
- 'Cargo.toml'
|
|
- 'Cargo.lock'
|
|
pull_request:
|
|
paths:
|
|
- '**/*.rs'
|
|
- 'src/**'
|
|
- 'Cargo.toml'
|
|
- 'Cargo.lock'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y build-essential
|
|
sudo apt-get install -y \
|
|
libpango1.0-dev \
|
|
libcairo2-dev \
|
|
libatk1.0-dev \
|
|
libgtk-4-dev \
|
|
libsoup2.4-dev
|
|
|
|
- name: Set up dependencies
|
|
run: |
|
|
export SYSTEM_DEPS_PANGO_NO_PKG_CONFIG="true"
|
|
export SYSTEM_DEPS_PANGO_LIB="pango-1.0"
|
|
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Build
|
|
run: |
|
|
cargo build --verbose
|
|
cargo build --release --verbose
|
|
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y build-essential
|
|
sudo apt-get install -y \
|
|
libpango1.0-dev \
|
|
libcairo2-dev \
|
|
libatk1.0-dev \
|
|
libgtk-4-dev \
|
|
libsoup2.4-dev
|
|
|
|
- name: Set up dependencies
|
|
run: |
|
|
export SYSTEM_DEPS_PANGO_NO_PKG_CONFIG="true"
|
|
export SYSTEM_DEPS_PANGO_LIB="pango-1.0"
|
|
|
|
- name: Run cargo clippy
|
|
run: |
|
|
cargo clippy -- -Dwarnings
|
|
cargo clippy --release -- -Dwarnings
|
|
|
|
- name: Run cargo fmt
|
|
run: cargo fmt --all --check
|