Skip to content

chore(docs): rename ropy-contribution-flow skill to contribution-flow… #130

chore(docs): rename ropy-contribution-flow skill to contribution-flow…

chore(docs): rename ropy-contribution-flow skill to contribution-flow… #130

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
precheck:
name: Precheck (fmt + clippy + test + i18n/icons/themes)
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- name: Install nightly rustfmt
run: rustup toolchain install nightly --profile minimal --component rustfmt
- name: Install clippy for the pinned stable toolchain
# rust-toolchain.toml pins the stable channel, and rustup auto-installs
# cargo/rustc on first use — but clippy is *not* auto-fetched, so the
# `cargo clippy` step in scripts/precheck.sh fails on a fresh runner.
# `rustup show active-toolchain` triggers the auto-install of the pinned
# toolchain, then we add clippy to it explicitly.
run: |
rustup show active-toolchain
rustup component add clippy
- name: Install Linux system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
pkg-config \
libatk1.0-dev \
libgtk-3-dev \
libgdk-pixbuf2.0-dev \
libcairo2-dev \
libpango1.0-dev \
libxdo-dev \
libxkbcommon-x11-dev
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Cache cargo registry & target
uses: Swatinem/rust-cache@v2
- name: Install cargo-machete
uses: taiki-e/install-action@v2
with:
tool: cargo-machete
- name: Run precheck (CI mode)
run: ./scripts/precheck.sh --check
cross-build:
name: Cross-platform build (${{ matrix.os }})
needs: precheck
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Cache cargo registry & target
uses: Swatinem/rust-cache@v2
- name: cargo build
run: cargo build --all-targets --all-features