docs: setup guide (#39) #78
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 | |
# Used by ruff | |
- uses: actions/setup-python@v5 | |
with: | |
cache: "pip" | |
# Used by biome | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
# Used by nimpretty | |
- uses: jiro4989/setup-nim-action@v1 | |
# Used by zigfmt | |
- uses: goto-bus-stop/setup-zig@v2 | |
- uses: uncenter/setup-taplo@v1 | |
# Used by gleam format | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: "26" | |
gleam-version: "1.0.0" | |
elixir-version: "1.16.1" | |
# Used go shfmt | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- 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: Validate stylua | |
run: stylua --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 stylua | |
run: cargo install stylua | |
- name: Install shfmt | |
run: go install mvdan.cc/sh/v3/cmd/shfmt@latest | |
- name: Validate shfmt | |
run: shfmt --version | |
- run: cargo test |