docker: Simplify target names for distro packages.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-06-10 20:57:41 +00:00
parent 7edbe11eb8
commit fcd51ef30e
4 changed files with 60 additions and 61 deletions

View File

@@ -147,7 +147,7 @@ jobs:
name: Distro Packages name: Distro Packages
uses: ./.github/workflows/bake.yml uses: ./.github/workflows/bake.yml
with: with:
bake_targets: '["pkg-deb", "pkg-rpm"]' bake_targets: '["deb", "rpm"]'
cargo_profiles: '["release"]' cargo_profiles: '["release"]'
feat_sets: '["all"]' feat_sets: '["all"]'
rust_toolchains: '["stable"]' rust_toolchains: '["stable"]'
@@ -161,12 +161,12 @@ jobs:
release_url: ${{inputs.release_url}} release_url: ${{inputs.release_url}}
artifact: > artifact: >
{ {
"pkg-deb": { "deb": {
"dst": "tuwunel.deb", "dst": "tuwunel.deb",
"src": "tuwunel_1.0.0-1_amd64.deb", "src": "tuwunel_1.0.0-1_amd64.deb",
"mime": "application/vnd.debian.binary-package" "mime": "application/vnd.debian.binary-package"
}, },
"pkg-rpm": { "rpm": {
"dst": "tuwunel.rpm", "dst": "tuwunel.rpm",
"src": "tuwunel-1.0.0-1.x86_64.rpm", "src": "tuwunel-1.0.0-1.x86_64.rpm",
"mime": "application/x-rpm" "mime": "application/x-rpm"
@@ -180,13 +180,12 @@ jobs:
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0]) && contains(fromJSON(inputs.cargo_profiles), fromJSON('["release"]')[0])
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["stable"]')[0])
&& github.ref == 'refs/heads/main' && github.ref == 'refs/heads/main'
&& false
name: Check Packages name: Check Packages
needs: [pkgs] needs: [pkgs]
uses: ./.github/workflows/bake.yml uses: ./.github/workflows/bake.yml
with: with:
bake_targets: '["pkg-deb-install", "pkg-rpm-install"]' bake_targets: '["deb-install", "rpm-install"]'
cargo_profiles: '["release"]' cargo_profiles: '["release"]'
feat_sets: '["all"]' feat_sets: '["all"]'
rust_toolchains: '["stable"]' rust_toolchains: '["stable"]'

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.11-labs # syntax = docker/dockerfile:1.11-labs
FROM input AS deb FROM input AS build-deb
ARG sys_target ARG sys_target
ARG rust_target ARG rust_target
ARG rust_toolchain ARG rust_toolchain
@@ -60,20 +60,20 @@ RUN \
EOF EOF
FROM scratch AS pkg-deb FROM scratch AS deb
ARG pkg_dir ARG pkg_dir
COPY --from=input ${pkg_dir}/* . COPY --from=input ${pkg_dir}/* .
FROM input AS pkg-deb-install FROM input AS deb-install
ARG pkg_dir ARG pkg_dir
WORKDIR / WORKDIR /
COPY --link --from=input . . COPY --link --from=input . .
WORKDIR ${pkg_dir} WORKDIR ${pkg_dir}
COPY --from=pkg-deb . . COPY --from=deb . .
RUN <<EOF RUN <<EOF
set -eux set -eux
dpkg --info * dpkg --info *

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.11-labs # syntax = docker/dockerfile:1.11-labs
FROM input AS rpm FROM input AS build-rpm
ARG sys_target ARG sys_target
ARG rust_toolchain ARG rust_toolchain
ARG RUSTUP_HOME ARG RUSTUP_HOME
@@ -50,20 +50,20 @@ RUN \
EOF EOF
FROM scratch AS pkg-rpm FROM scratch AS rpm
ARG pkg_dir ARG pkg_dir
COPY --link --from=input ${pkg_dir}/* . COPY --link --from=input ${pkg_dir}/* .
FROM input AS pkg-rpm-install FROM input AS rpm-install
ARG pkg_dir ARG pkg_dir
WORKDIR / WORKDIR /
COPY --link --from=input . . COPY --link --from=input . .
WORKDIR ${pkg_dir} WORKDIR ${pkg_dir}
COPY --link --from=pkg-rpm . . COPY --link --from=rpm . .
RUN <<EOF RUN <<EOF
set -eux set -eux
rpm -i --test * rpm -i --test *

View File

@@ -661,43 +661,27 @@ target "install" {
group "pkg" { group "pkg" {
targets = [ targets = [
"pkg-deb", "deb",
"pkg-rpm", "rpm",
"pkg-deb-install", "deb-install",
"pkg-rpm-install", "rpm-install",
] ]
} }
target "pkg-rpm-install" { target "rpm-install" {
name = elem("pkg-rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) name = elem("rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [ tags = [
elem_tag("pkg-rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), elem_tag("rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
] ]
target = "pkg-rpm-install" target = "rpm-install"
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"] output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
matrix = cargo_rust_feat_sys matrix = cargo_rust_feat_sys
inherits = [
elem("pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
contexts = {
input = "docker-image://redhat/ubi9"
pkg-rpm = elem("target:pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
}
}
target "pkg-rpm" {
name = elem("pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
elem_tag("pkg-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
target = "pkg-rpm"
output = ["type=docker,compression=zstd,mode=min"]
matrix = cargo_rust_feat_sys
inherits = [ inherits = [
elem("rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]), elem("rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
] ]
contexts = { contexts = {
input = elem("target:rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]), input = "docker-image://redhat/ubi9"
rpm = elem("target:rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
} }
} }
@@ -707,6 +691,22 @@ target "rpm" {
elem_tag("rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), elem_tag("rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
] ]
target = "rpm" target = "rpm"
output = ["type=docker,compression=zstd,mode=min"]
matrix = cargo_rust_feat_sys
inherits = [
elem("build-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
contexts = {
input = elem("target:build-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
}
}
target "build-rpm" {
name = elem("build-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
elem_tag("build-rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
target = "build-rpm"
dockerfile = "${docker_dir}/Dockerfile.cargo.rpm" dockerfile = "${docker_dir}/Dockerfile.cargo.rpm"
matrix = cargo_rust_feat_sys matrix = cargo_rust_feat_sys
inherits = [ inherits = [
@@ -720,36 +720,20 @@ target "rpm" {
} }
} }
target "pkg-deb-install" { target "deb-install" {
name = elem("pkg-deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]) name = elem("deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [ tags = [
elem_tag("pkg-deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), elem_tag("deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
] ]
target = "pkg-deb-install" target = "deb-install"
output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"] output = ["type=cacheonly,compression=zstd,mode=min,compression-level=${cache_compress_level}"]
matrix = cargo_rust_feat_sys matrix = cargo_rust_feat_sys
inherits = [
elem("pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
contexts = {
input = elem("target:runtime", [feat_set, sys_name, sys_version, sys_target])
pkg-deb = elem("target:pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
}
}
target "pkg-deb" {
name = elem("pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
elem_tag("pkg-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
target = "pkg-deb"
output = ["type=docker,compression=zstd,mode=min"]
matrix = cargo_rust_feat_sys
inherits = [ inherits = [
elem("deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]), elem("deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
] ]
contexts = { contexts = {
input = elem("target:deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]), input = elem("target:runtime", [feat_set, sys_name, sys_version, sys_target])
deb = elem("target:deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
} }
} }
@@ -759,6 +743,22 @@ target "deb" {
elem_tag("deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"), elem_tag("deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
] ]
target = "deb" target = "deb"
output = ["type=docker,compression=zstd,mode=min"]
matrix = cargo_rust_feat_sys
inherits = [
elem("build-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
contexts = {
input = elem("target:build-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
}
}
target "build-deb" {
name = elem("build-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
tags = [
elem_tag("build-deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target], "latest"),
]
target = "build-deb"
dockerfile = "${docker_dir}/Dockerfile.cargo.deb" dockerfile = "${docker_dir}/Dockerfile.cargo.deb"
matrix = cargo_rust_feat_sys matrix = cargo_rust_feat_sys
inherits = [ inherits = [