Add rustfmt check to workflow.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
17
.github/workflows/lint.yml
vendored
17
.github/workflows/lint.yml
vendored
@@ -4,8 +4,23 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
|
|
||||||
jobs:
|
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:
|
clippy:
|
||||||
name: Clippy Lints
|
name: Clippy
|
||||||
uses: ./.github/workflows/bake.yml
|
uses: ./.github/workflows/bake.yml
|
||||||
with:
|
with:
|
||||||
bake_targets: '["clippy"]'
|
bake_targets: '["clippy"]'
|
||||||
|
|||||||
23
docker/Dockerfile.cargo.fmt
Normal file
23
docker/Dockerfile.cargo.fmt
Normal 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
|
||||||
@@ -39,7 +39,7 @@ RUN \
|
|||||||
rustup component add \
|
rustup component add \
|
||||||
--toolchain ${rust_toolchain} \
|
--toolchain ${rust_toolchain} \
|
||||||
--target ${CARGO_TARGET} \
|
--target ${CARGO_TARGET} \
|
||||||
clippy
|
clippy rustfmt
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -440,7 +440,7 @@ target "installer" {
|
|||||||
elem_tag("installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
elem_tag("installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
|
||||||
]
|
]
|
||||||
target = "installer"
|
target = "installer"
|
||||||
dockerfile = "docker/Dockerfile.install"
|
dockerfile = "docker/Dockerfile.cargo.install"
|
||||||
labels = {
|
labels = {
|
||||||
"_group" = "install"
|
"_group" = "install"
|
||||||
"_cache" = "trunk"
|
"_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" {
|
target "cargo" {
|
||||||
name = elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
|
name = elem("cargo", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
|
||||||
target = "cargo"
|
target = "cargo"
|
||||||
@@ -803,7 +822,7 @@ target "deps-base" {
|
|||||||
target = "deps"
|
target = "deps"
|
||||||
output = ["type=docker,compression=zstd,mode=min"]
|
output = ["type=docker,compression=zstd,mode=min"]
|
||||||
cache_to = ["type=local,compression=zstd,mode=min"]
|
cache_to = ["type=local,compression=zstd,mode=min"]
|
||||||
dockerfile = "docker/Dockerfile.deps"
|
dockerfile = "docker/Dockerfile.cargo.deps"
|
||||||
labels = {
|
labels = {
|
||||||
"_group" = "deps"
|
"_group" = "deps"
|
||||||
"_cache" = "trunk"
|
"_cache" = "trunk"
|
||||||
|
|||||||
Reference in New Issue
Block a user