Add rustfmt check to workflow.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-05-01 11:45:31 +00:00
parent 268af403d6
commit 3dde48f503
6 changed files with 61 additions and 4 deletions

View File

@@ -4,8 +4,23 @@ on:
workflow_call:
jobs:
fmt:
name: Format
uses: ./.github/workflows/bake.yml
with:
bake_targets: '["fmt"]'
cargo_profiles: ${{vars.CARGO_PROFILES}}
docker_id: ${{vars.DOCKER_ID}}
feat_sets: ${{vars.FEAT_SETS}}
machines: ${{vars.MACHINES}}
rust_targets: ${{vars.RUST_TARGETS}}
rust_toolchains: '["nightly"]'
sys_names: ${{vars.SYS_NAMES}}
sys_targets: ${{vars.SYS_TARGETS}}
sys_versions: ${{vars.SYS_VERSIONS}}
clippy:
name: Clippy Lints
name: Clippy
uses: ./.github/workflows/bake.yml
with:
bake_targets: '["clippy"]'

View File

@@ -0,0 +1,23 @@
# syntax = docker/dockerfile:1.11-labs
FROM input AS cargo
ARG sys_target
ARG rust_toolchain="nightly"
ARG RUSTUP_HOME
ARG CARGO_HOME
ARG fmt_args=""
WORKDIR /usr/src/tuwunel
RUN \
--mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \
--mount=type=cache,dst=${CARGO_HOME},sharing=locked \
<<EOF
env
set -eux
rustup run ${rust_toolchain} \
cargo fmt \
--all \
--check \
--manifest-path Cargo.toml \
${fmt_args}
EOF

View File

@@ -39,7 +39,7 @@ RUN \
rustup component add \
--toolchain ${rust_toolchain} \
--target ${CARGO_TARGET} \
clippy
clippy rustfmt
EOF

View File

@@ -440,7 +440,7 @@ target "installer" {
elem_tag("installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
target = "installer"
dockerfile = "docker/Dockerfile.install"
dockerfile = "docker/Dockerfile.cargo.install"
labels = {
"_group" = "install"
"_cache" = "trunk"
@@ -680,6 +680,25 @@ target "check" {
}
}
target "fmt" {
name = elem("fmt", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
elem_tag("fmt", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
dockerfile = "docker/Dockerfile.cargo.fmt"
matrix = cargo_rust_feat_sys
inherits = [
elem("deps-base", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
contexts = {
input = elem("target:ingredients", [rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
}
args = {
fmt_args = "-- --color always"
}
}
target "cargo" {
name = elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
target = "cargo"
@@ -803,7 +822,7 @@ target "deps-base" {
target = "deps"
output = ["type=docker,compression=zstd,mode=min"]
cache_to = ["type=local,compression=zstd,mode=min"]
dockerfile = "docker/Dockerfile.deps"
dockerfile = "docker/Dockerfile.cargo.deps"
labels = {
"_group" = "deps"
"_cache" = "trunk"