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

View File

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

View File

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

View File

@@ -661,43 +661,27 @@ target "install" {
group "pkg" {
targets = [
"pkg-deb",
"pkg-rpm",
"pkg-deb-install",
"pkg-rpm-install",
"deb",
"rpm",
"deb-install",
"rpm-install",
]
}
target "pkg-rpm-install" {
name = elem("pkg-rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
target "rpm-install" {
name = elem("rpm-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
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}"]
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 = [
elem("rpm", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
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"),
]
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"
matrix = cargo_rust_feat_sys
inherits = [
@@ -720,36 +720,20 @@ target "rpm" {
}
}
target "pkg-deb-install" {
name = elem("pkg-deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
target "deb-install" {
name = elem("deb-install", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target])
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}"]
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 = [
elem("deb", [cargo_profile, rust_toolchain, rust_target, feat_set, sys_name, sys_version, sys_target]),
]
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"),
]
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"
matrix = cargo_rust_feat_sys
inherits = [