# 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