feat(go): add support for gofmt #93
Workflow file for this run
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 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" | |
# 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 go shfmt | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
# Used by rubocop | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
- 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 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 | |
- run: cargo test |