Skip to content

Commit d1f168f

Browse files
bketelsenStevenjin8
authored andcommitted
feat: add Debian Trixie (13) target (#867)
* feat: add Debian Trixie (13) target Adds Debian Trixie as a build target, updates tests, docs, and CI. Signed-off-by: Brian Ketelsen <[email protected]>
1 parent d069dbb commit d1f168f

File tree

9 files changed

+55
-6
lines changed

9 files changed

+55
-6
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,11 @@ jobs:
100100
- Almalinux9
101101
- Rockylinux8
102102
- Rockylinux9
103+
- Trixie
103104
- other
104105
include:
105106
- suite: other
106-
skip: Mariner2|Azlinux3|Bookworm|Bullseye|Bionic|Focal|Jammy|Noble|Windows|Almalinux8|Almalinux9|Rockylinux8|Rockylinux9
107+
skip: Mariner2|Azlinux3|Bookworm|Bullseye|Bionic|Focal|Jammy|Noble|Windows|Almalinux8|Almalinux9|Rockylinux8|Rockylinux9|Trixie
107108

108109
# TODO: support diff/merge
109110
# Right now this is handled by the e2e suite, but we can migrate that here.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"include":[{"target":"bookworm/worker"},{"target":"bullseye/worker"},{"target":"bionic/worker"},{"target":"focal/worker"},{"target":"jammy/worker"},{"target":"noble/worker"},{"target":"almalinux8/worker"},{"target":"almalinux9/worker"},{"target":"rockylinux8/worker"},{"target":"rockylinux9/worker"},{"target":"mariner2/worker"},{"target":"azlinux3/worker"},{"target":"windowscross/worker"}]}
1+
{"include":[{"target":"trixie/worker"},{"target":"bookworm/worker"},{"target":"bullseye/worker"},{"target":"bionic/worker"},{"target":"focal/worker"},{"target":"jammy/worker"},{"target":"noble/worker"},{"target":"almalinux8/worker"},{"target":"almalinux9/worker"},{"target":"rockylinux8/worker"},{"target":"rockylinux9/worker"},{"target":"mariner2/worker"},{"target":"azlinux3/worker"},{"target":"windowscross/worker"}]}

docker-bake.hcl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ target "maps-dep" {
6666
"dalec_frontend" = "target:frontend"
6767
}
6868
matrix = {
69-
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "bookworm/deb", "bullseye/deb"]
69+
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "trixie/deb", "bookworm/deb", "bullseye/deb"]
7070
}
7171
target = tgt
7272
}
@@ -81,7 +81,7 @@ target "maps-buildstep" {
8181
"dalec_frontend" = "target:frontend"
8282
}
8383
matrix = {
84-
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "bookworm/deb", "bullseye/deb"]
84+
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "trixie/deb", "bookworm/deb", "bullseye/deb"]
8585
}
8686
target = tgt
8787
}
@@ -96,7 +96,7 @@ target "maps-test" {
9696
"dalec_frontend" = "target:frontend"
9797
}
9898
matrix = {
99-
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "bookworm/deb", "bullseye/deb"]
99+
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "trixie/deb", "bookworm/deb", "bullseye/deb"]
100100
}
101101
target = tgt
102102
}
@@ -111,7 +111,7 @@ target "maps-source" {
111111
"dalec_frontend" = "target:frontend"
112112
}
113113
matrix = {
114-
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "bookworm/deb", "bullseye/deb"]
114+
tgt = ["azlinux3/rpm", "mariner2/rpm", "jammy/deb", "noble/deb", "trixie/deb", "bookworm/deb", "bullseye/deb"]
115115
}
116116
target = tgt
117117
}

targets/linux/deb/debian/common.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ var (
3030
}
3131

3232
targets = map[string]gwclient.BuildFunc{
33+
TrixieDefaultTargetKey: TrixieConfig.Handle,
3334
BookwormDefaultTargetKey: BookwormConfig.Handle,
3435
BullseyeDefaultTargetKey: BullseyeConfig.Handle,
3536
}

targets/linux/deb/debian/trixie.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package debian
2+
3+
import (
4+
"github.com/project-dalec/dalec/targets/linux/deb/distro"
5+
)
6+
7+
const (
8+
TrixieDefaultTargetKey = "trixie"
9+
TrixieAptCachePrefix = "trixie"
10+
TrixieWorkerContextName = "dalec-trixie-worker"
11+
12+
trixieRef = "docker.io/library/debian:trixie"
13+
trixieVersionID = "debian13"
14+
)
15+
16+
var (
17+
TrixieConfig = &distro.Config{
18+
ImageRef: trixieRef,
19+
AptCachePrefix: TrixieAptCachePrefix,
20+
VersionID: trixieVersionID,
21+
ContextRef: TrixieWorkerContextName,
22+
DefaultOutputImage: trixieRef,
23+
BuilderPackages: builderPackages,
24+
BasePackages: basePackages,
25+
}
26+
)

targets/plugin/init.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
)
1212

1313
func init() {
14+
targets.RegisterBuildTarget(debian.TrixieDefaultTargetKey, debian.TrixieConfig.Handle)
1415
targets.RegisterBuildTarget(debian.BookwormDefaultTargetKey, debian.BookwormConfig.Handle)
1516
targets.RegisterBuildTarget(debian.BullseyeDefaultTargetKey, debian.BullseyeConfig.Handle)
1617

test/target_debian_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,21 @@ import (
99
gwclient "github.com/moby/buildkit/frontend/gateway/client"
1010
)
1111

12+
func TestTrixie(t *testing.T) {
13+
t.Parallel()
14+
15+
ctx := startTestSpan(baseCtx, t)
16+
testConf := debLinuxTestConfigFor(
17+
debian.TrixieDefaultTargetKey,
18+
debian.TrixieConfig,
19+
withPackageOverride("rust", "rust-all"),
20+
withPackageOverride("bazel", "bazel-bootstrap"),
21+
)
22+
23+
testLinuxDistro(ctx, t, testConf)
24+
testDebianBaseDependencies(t, testConf.Target)
25+
}
26+
1227
func TestBookworm(t *testing.T) {
1328
t.Parallel()
1429

website/docs/examples/targets.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ rockylinux9/container/depsonly Builds a container image with only the runtime
6161
rockylinux9/rpm Builds an rpm and src.rpm.
6262
rockylinux9/rpm/debug Debug options for rpm builds.
6363
rockylinux9/worker Builds the base worker image responsible for building the rpm
64+
trixie/deb (default) Builds a deb package.
65+
trixie/dsc Builds a Debian source package.
66+
trixie/testing/container Builds a container image for testing purposes only.
67+
trixie/worker Builds the worker image.
6468
windowscross/container (default) Builds binaries and installs them into a Windows base image
6569
windowscross/worker Builds the base worker image responsible for building the package
6670
windowscross/zip Builds binaries combined into a zip file

website/docs/targets.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ DALEC includes a number of built-in targets that you can either use in your spec
1616
- `azlinux3` - Azure Linux 3
1717
- `bullseye` - Debian 11 (Bullseye) (v0.11)
1818
- `bookworm` - Debian 12 (Bookworm) (v0.11)
19+
- `trixie` - Debian 13 (Trixie) (v0.next)
1920
- `bionic` - Ubuntu 18.04 (Bionic) (v0.11)
2021
- `focal` - Ubuntu 20.04 (focal) (v0.11)
2122
- `jammy` - Ubuntu 22.04 (jammy) (v0.9)

0 commit comments

Comments
 (0)