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

View File

@ -8,13 +8,13 @@ on:
permissions: {} permissions: {}
env: env:
BASENAME: bitnami/minideb 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 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs: jobs:
# This workflow contains a single job called "build" # This workflow contains a single job called "build"
shellcheck: shellcheck:
# The type of runner that the job will run on # The type of runner that the job will run on
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
name: Shellcheck name: Shellcheck
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
@ -28,11 +28,11 @@ jobs:
run: | run: |
bash shellcheck bash shellcheck
build_multiarch: build_multiarch:
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
needs: [ shellcheck ] needs: [ shellcheck ]
strategy: strategy:
matrix: matrix:
dist: [bullseye, bookworm] dist: [bullseye, bookworm, trixie]
arch: [amd64, arm64] arch: [amd64, arm64]
name: Build ${{ matrix.dist }} on ${{ matrix.arch }} name: Build ${{ matrix.dist }} on ${{ matrix.arch }}
steps: 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. 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. 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`: You can also use the images as a base for your own `Dockerfile`:
``` ```
FROM bitnami/minideb:bookworm FROM bitnami/minideb:trixie
``` ```
# Why use Minideb # 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 $ 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: To test the resulting image:
``` ```
$ sudo make test-bookworm $ sudo make test-trixie
``` ```
## Building Minideb for foreign architecture ## 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 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. 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 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: Current limitations of the `qemu_build` script:

View File

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

View File

@ -46,7 +46,7 @@ work_out_debs () {
# tzdata for handling timezones # tzdata for handling timezones
# util-linux for getopt # util-linux for getopt
# mount is required for mounting /proc during debootstrap # 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" 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" sec_repo_url_2="http://security.debian.org/debian-security"
echo -e "deb ${repo_url} $DIST main" > "$rootfsDir/etc/apt/sources.list" 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 ${repo_url} $DIST-updates main" >> "$rootfsDir/etc/apt/sources.list"
echo "deb ${sec_repo_url_1} $DIST-security main" >> "$rootfsDir/etc/apt/sources.list" echo "deb ${sec_repo_url_1} $DIST-security main" >> "$rootfsDir/etc/apt/sources.list"
elif [ "$DIST" == "bullseye" ]; then elif [ "$DIST" == "bullseye" ]; then

View File

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