feat: Add debian trixie support (#201)

* feat:  Add debian trixie support

Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com>

* chore: 🔧 Add perl package

Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com>

* chore: 🔧 Bump ubuntu testing version

Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com>

---------

Signed-off-by: Javier J. Salmerón García <javier.salmeron@broadcom.com>
This commit is contained in:
Javier J. Salmerón García 2025-09-08 12:14:47 +02:00 committed by GitHub
parent eec8c842f2
commit f1fd9b459c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 24 additions and 21 deletions

View File

@ -14,13 +14,13 @@ on:
permissions: {}
env:
BASENAME: bitnami/minideb
LATEST: bookworm
LATEST: trixie
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
shellcheck:
# The type of runner that the job will run on
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: github.event_name != 'schedule' || github.repository == 'bitnami/minideb'
name: Shellcheck
# Steps represent a sequence of tasks that will be executed as part of the job
@ -35,11 +35,11 @@ jobs:
run: |
bash shellcheck
build_multiarch:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [ shellcheck ]
strategy:
matrix:
dist: [bullseye, bookworm]
dist: [bullseye, bookworm, trixie]
arch: [amd64, arm64]
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
steps:
@ -80,7 +80,7 @@ jobs:
bash pushone "latest" "${{ matrix.arch }}"
fi
deploy_manifests:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [ build_multiarch ]
if: github.repository == 'bitnami/minideb' && github.ref == 'refs/heads/master'
@ -92,7 +92,7 @@ jobs:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_REGISTRY: docker.io
run: |
DISTS="bullseye bookworm latest" bash pushmanifest
DISTS="bullseye bookworm trixie latest" bash pushmanifest
- name: Push Manifests to AWS
env:
DOCKER_USERNAME: AWS
@ -102,7 +102,7 @@ jobs:
run: |
# AWS login
export DOCKER_PASSWORD="$(aws ecr-public get-login-password --region us-east-1)"
DISTS="bullseye bookworm latest" bash pushmanifest
DISTS="bullseye bookworm trixie latest" bash pushmanifest
# If the CI Pipeline does not succeed we should notify the interested agents
notify:
name: Send notification

View File

@ -8,13 +8,13 @@ on:
permissions: {}
env:
BASENAME: bitnami/minideb
LATEST: bookworm
LATEST: trixie
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
shellcheck:
# The type of runner that the job will run on
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
name: Shellcheck
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
@ -28,11 +28,11 @@ jobs:
run: |
bash shellcheck
build_multiarch:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: [ shellcheck ]
strategy:
matrix:
dist: [bullseye, bookworm]
dist: [bullseye, bookworm, trixie]
arch: [amd64, arm64]
name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
steps:

View File

@ -22,14 +22,14 @@ $ docker run --rm -it bitnami/minideb:latest
There are [tags](https://hub.docker.com/r/bitnami/minideb/tags/) for the different Debian releases.
```
$ docker run --rm -it bitnami/minideb:bookworm
$ docker run --rm -it bitnami/minideb:trixie
```
The images are built daily and have the security release enabled, so will contain any security updates released more than 24 hours ago.
You can also use the images as a base for your own `Dockerfile`:
```
FROM bitnami/minideb:bookworm
FROM bitnami/minideb:trixie
```
# Why use Minideb
@ -70,14 +70,14 @@ We provide a Makefile to help you build Minideb locally. It should be run on a D
$ sudo make
```
To build an individual release (bullseye or bookworm)
To build an individual release (bullseye, bookworm or trixie)
```
$ sudo make bookworm
$ sudo make trixie
```
To test the resulting image:
```
$ sudo make test-bookworm
$ sudo make test-trixie
```
## Building Minideb for foreign architecture
@ -85,13 +85,13 @@ Make commands shown above will build an image for the architecture you are curre
To build an image for a foreign architecture (for example to build a multi-arch image), we provide a
simple script that runs a QEMU instance for the target architecture and builds the image inside it.
To build and test a bookworm image for arm64:
To build and test a trixie image for arm64:
```
$ ./qemu_build bookworm arm64
$ ./qemu_build trixie arm64
```
The image will be then imported locally through the docker CLI with the `$distribution-$architecture` tag
(example: `bitnami/minideb:bookworm-arm64`)
(example: `bitnami/minideb:trixie-arm64`)
Current limitations of the `qemu_build` script:

View File

@ -10,6 +10,7 @@ arch=${1:-"amd64 arm64"}
dist="bullseye
bookworm
trixie
"
for a in $arch; do
for i in $dist; do

View File

@ -46,7 +46,7 @@ work_out_debs () {
# tzdata for handling timezones
# util-linux for getopt
# mount is required for mounting /proc during debootstrap
required="adduser base-files base-passwd bash bsdutils coreutils dash debian-archive-keyring diffutils dpkg findutils grep gzip hostname init-system-helpers libc-bin login lsb-base mawk ncurses-base passwd sed sysv-rc tar tzdata util-linux mount"
required="adduser base-files base-passwd bash bsdutils coreutils dash debian-archive-keyring diffutils dpkg findutils grep gzip hostname init-system-helpers libc-bin login lsb-base mawk ncurses-base passwd perl sed sysv-rc tar tzdata util-linux mount"
base="apt"

1
debootstrap/trixie Symbolic link
View File

@ -0,0 +1 @@
bullseye

View File

@ -76,7 +76,7 @@ sec_repo_url_1="${repo_url}-security"
sec_repo_url_2="http://security.debian.org/debian-security"
echo -e "deb ${repo_url} $DIST main" > "$rootfsDir/etc/apt/sources.list"
if [ "$DIST" == "bookworm" ]; then
if [ "$DIST" == "bookworm" ] || [ "$DIST" == "trixie" ]; then
echo "deb ${repo_url} $DIST-updates main" >> "$rootfsDir/etc/apt/sources.list"
echo "deb ${sec_repo_url_1} $DIST-security main" >> "$rootfsDir/etc/apt/sources.list"
elif [ "$DIST" == "bullseye" ]; then

View File

@ -6,6 +6,7 @@ set -o pipefail
DISTS=${DISTS:-"bullseye
bookworm
trixie
latest
"}