From e9f27bbee54ea05c98883468641bb21fdf8d4a17 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 28 May 2025 05:35:52 +0000 Subject: [PATCH] docker: Add mdbook to pipeline. Signed-off-by: Jason Volk --- .github/workflows/package.yml | 26 +++++++++++++ docker/bake.hcl | 72 ++++++++++++++++++++++++----------- 2 files changed, 75 insertions(+), 23 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 13252a96..46b6b36d 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -37,6 +37,32 @@ on: description: Matrix inclusions jobs: + book: + if: > + !failure() && !cancelled() + && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) + && contains(fromJSON(inputs.feat_sets), fromJSON('["default"]')[0]) + && contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0]) + + name: Book + uses: ./.github/workflows/bake.yml + with: + bake_targets: '["book"]' + cargo_profiles: '["release"]' + feat_sets: '["default"]' + rust_toolchains: '["stable"]' + rust_targets: ${{inputs.rust_targets}} + sys_names: ${{inputs.sys_names}} + sys_targets: ${{inputs.sys_targets}} + sys_versions: ${{inputs.sys_versions}} + machines: ${{inputs.machines}} + excludes: ${{inputs.excludes}} + includes: ${{inputs.includes}} + artifact: > + { + "book": {"dst": "book", "src": "/book"}, + } + build_standalone: if: > !failure() && !cancelled() diff --git a/docker/bake.hcl b/docker/bake.hcl index 79058a9f..85ec6b88 100644 --- a/docker/bake.hcl +++ b/docker/bake.hcl @@ -601,6 +601,7 @@ target "install" { input = elem("target:diner", [feat_set, sys_name, sys_version, sys_target]) output = elem("target:installer", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) #docs = elem("target:docs", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) + #book = elem("target:book", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) } } @@ -771,6 +772,53 @@ target "tests-unit" { # Workspace builds # +target "book" { + name = elem("book", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) + tags = [ + elem_tag("book", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), + ] + target = "book" + dockerfile = "${docker_dir}/Dockerfile.cargo.book" + output = ["type=docker,compression=zstd,mode=min,compression-level=${image_compress_level}"] + 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]) + } + dockerfile-inline =<