feat(elm): support elm-format (#78) #166
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, sqlfluff, black, blue, yapf, autopep8 | |
- 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 | |
# crystal_format | |
- uses: crystal-lang/install-crystal@v1 | |
# roc_format | |
- uses: hasnep/[email protected] | |
# deno_fmt | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
# just_fmt | |
- uses: taiki-e/install-action@just | |
- 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 && ruff --version | |
- name: Install sqlfluff | |
run: pip install sqlfluff && 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 && rubocop --version | |
- name: Install stylua | |
run: cargo install stylua && stylua --version | |
- name: Install shfmt | |
run: go install mvdan.cc/sh/v3/cmd/shfmt@latest && shfmt --version | |
- name: Install gofumpt | |
run: go install mvdan.cc/gofumpt@latest && gofumpt --version | |
- name: Install black | |
run: pip install black && black --version | |
- name: Install blue | |
run: pip install blue && blue --version | |
- name: Install yapf | |
run: pip install yapf && yapf --version | |
- name: Install autopep | |
run: pip install autopep8 && autopep8 --version | |
- name: Install clang-format | |
run: pip install clang-format && clang-format --version | |
- run: pip install isort | |
- run: pip install usort | |
- run: cargo test |