Files
tauri-plugins-workspace/.github/workflows/fmt.yml
T
Lucas Fernandes Nogueira 9a74a78c71 ci: only run what a change affects, consolidate jobs (#3674)
* ci: only run what a change affects, consolidate jobs

- detect affected plugins from changed files and Cargo.lock dependency trees
- test/lint Rust per platform in shards instead of one job per plugin
- fold check-generated-files into lint-javascript, fmt into a single job
- skip fat LTO in integration test builds, single ABI in test-android

* ci: run e2e on bumps, use published tauri CLI, PR-safe pnpm cache

- trigger e2e on Cargo/pnpm lockfile and manifest changes
- install the latest 2.x tauri-cli with cargo-binstall in integration tests
- add setup-pnpm action: restore the store everywhere, save only on v2/v3

* fix clippy, ios build

* fix bumps [skip ci]
2026-10-09 12:57:12 -03:00

71 lines
2.0 KiB
YAML

# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: MIT
name: check formatting
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
# A single job whose checks only run when files they cover changed: the checks themselves take
# seconds, so a runner each would mostly be spent waiting for and setting up runners.
fmt:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read # to list the changed files
steps:
- uses: actions/checkout@v7
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
rust:
- .github/workflows/fmt.yml
- '**/*.rs'
prettier:
- .github/workflows/fmt.yml
- .prettierrc
- .prettierignore
- pnpm-lock.yaml
- '**/*.{js,cjs,mjs,jsx,ts,cts,mts,tsx,json,json5,jsonc,md,mdx,yml,yaml,css,scss,less,html,vue,svelte}'
toml:
- .github/workflows/fmt.yml
- '**/*.toml'
- name: install Rust stable and rustfmt
if: steps.filter.outputs.rust == 'true'
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: rustfmt
if: steps.filter.outputs.rust == 'true'
run: cargo fmt --all -- --check
- name: install taplo-cli
if: ${{ !cancelled() && steps.filter.outputs.toml == 'true' }}
uses: taiki-e/install-action@v2
with:
tool: taplo-cli
- name: taplo (.toml files)
if: ${{ !cancelled() && steps.filter.outputs.toml == 'true' }}
run: taplo fmt --check --diff
- uses: ./.github/actions/setup-pnpm
if: ${{ !cancelled() && steps.filter.outputs.prettier == 'true' }}
- name: prettier
if: ${{ !cancelled() && steps.filter.outputs.prettier == 'true' }}
run: pnpm format:check