diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 89ae919e..2835efcc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,6 +45,28 @@ on: type: string jobs: + docs: + if: > + contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) + && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) + && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0]) + && contains(fromJSON(inputs.sys_targets), fromJSON('["x86_64-v1-linux-gnu"]')[0]) + + name: Docs + uses: ./.github/workflows/bake.yml + with: + bake_targets: '["docs"]' + cargo_profiles: '["test"]' + feat_sets: '["all"]' + rust_toolchains: '["nightly"]' + sys_names: ${{inputs.sys_names}} + sys_versions: ${{inputs.sys_versions}} + rust_targets: ${{inputs.rust_targets}} + sys_targets: '["x86_64-v1-linux-gnu"]' + machines: ${{inputs.machines}} + excludes: ${{inputs.excludes}} + includes: ${{inputs.includes}} + unit: if: > contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) diff --git a/docker/bake.hcl b/docker/bake.hcl index a7371052..7bf2524f 100644 --- a/docker/bake.hcl +++ b/docker/bake.hcl @@ -233,6 +233,7 @@ group "lints" { group "tests" { targets = [ + "docs", "unit", "smoke", "complement", @@ -809,6 +810,25 @@ target "unit" { } } +target "docs" { + name = elem("docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) + tags = [ + elem_tag("docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), + ] + target = "cargo" + matrix = cargo_rust_feat_sys + inherits = [ + elem("build-tests", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]), + ] + contexts = { + input = elem("target:build-tests", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) + } + args = { + cargo_cmd = "test" + cargo_args = "--doc --no-fail-fast" + } +} + # # Workspace builds # @@ -835,10 +855,10 @@ target "book" { EOF } -target "docs" { - name = elem("docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) +target "build-docs" { + name = elem("build-docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) tags = [ - elem_tag("docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), + elem_tag("build-docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), ] matrix = cargo_rust_feat_sys inherits = [ @@ -1035,7 +1055,7 @@ target "fmt" { input = elem("target:ingredients", [rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) } args = { - fmt_args = "-- --color always" + fmt_args = "-- --color=always" } }