feat(python): support black (#52) #105
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: validate | |
on: [push] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: full | |
jobs: | |
lint: | |
name: lint | |
strategy: | |
matrix: | |
os: | |
- windows-latest | |
- macos-latest | |
- ubuntu-latest | |
# TODO: remove once macos-latest is upgraded to an arm machine | |
- macos-14 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- run: rustup toolchain install stable --profile minimal | |
- run: rustup component add rustfmt clippy | |
- run: cargo fetch | |
- run: cargo fmt -- --check --color always | |
- run: cargo clippy | |
test: | |
name: test | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
node: | |
- 20 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
# gleam_format, mix_format | |
# NOTE: should be first since it is sometimes crashes (?) | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: "26" | |
gleam-version: "1.0.0" | |
elixir-version: "1.16.1" | |
# ruff | |
- uses: actions/setup-python@v5 | |
with: | |
cache: "pip" | |
# biome, prettier, stylua, sql-formatter | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
# nimpretty | |
- uses: jiro4989/setup-nim-action@v1 | |
# zigfmt | |
- uses: goto-bus-stop/setup-zig@v2 | |
# taplo | |
- uses: uncenter/setup-taplo@v1 | |
# shfmt, gofmt, gofumpt | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
# rubocop | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
# dart_format | |
- uses: dart-lang/setup-dart@v1 | |
- run: rustup toolchain install stable --profile minimal | |
- run: rustup component add rustfmt clippy | |
- name: Validate taplo | |
run: taplo --version | |
- name: Install ruff | |
run: pip install ruff | |
- name: Validate ruff | |
run: ruff --version | |
- name: Install sqlfluff | |
run: pip install sqlfluff | |
- name: Validate sqlfluff | |
run: sqlfluff format --version | |
- name: Validate biome | |
run: npx --yes @biomejs/biome --version | |
- name: Validate prettier | |
run: npx --yes prettier --version | |
- name: Validate nimpretty | |
run: nimpretty --version | |
- name: Validate zig fmt | |
run: zig fmt --help | |
- name: Validate gleam format | |
run: gleam format --help | |
- name: Validate mix format | |
run: mix help format | |
- name: Install rubocop | |
run: gem install rubocop | |
- name: Validate rubocop | |
run: rubocop --version | |
- name: Install stylua | |
run: cargo install stylua | |
- name: Validate stylua | |
run: stylua --version | |
- name: Install shfmt | |
run: go install mvdan.cc/sh/v3/cmd/shfmt@latest | |
- name: Validate shfmt | |
run: shfmt --version | |
- name: Install gofumpt | |
run: go install mvdan.cc/gofumpt@latest | |
- name: Validate gofumpt | |
run: gofumpt --version | |
- name: Install black | |
run: pip install black && black --version | |
- run: cargo test |