From 83a8625fc3fa176acbae5709ebb750d8fdce6a91 Mon Sep 17 00:00:00 2001 From: j4n Date: Fri, 5 Jun 2026 11:07:00 +0200 Subject: [PATCH 1/3] ci: move to matrix strategy and build for debian 13 --- .github/workflows/build-staging-deb.yml | 74 ++++++++++--------------- 1 file changed, 28 insertions(+), 46 deletions(-) diff --git a/.github/workflows/build-staging-deb.yml b/.github/workflows/build-staging-deb.yml index d7c6f9f66..1ba84f1a7 100644 --- a/.github/workflows/build-staging-deb.yml +++ b/.github/workflows/build-staging-deb.yml @@ -7,9 +7,25 @@ on: workflow_dispatch: jobs: - staging-amd64: - runs-on: ubuntu-latest - container: debian:12 + staging: + strategy: + matrix: + include: + # TODO: re-enable bookworm once trixie builds good + # - runner: ubuntu-latest + # container: debian:12 + # dir_suffix: "" + # - runner: ubuntu-24.04-arm + # container: debian:12 + # dir_suffix: "" + - runner: ubuntu-latest + container: debian:13 + dir_suffix: -trixie + - runner: ubuntu-24.04-arm + container: debian:13 + dir_suffix: -trixie + runs-on: ${{ matrix.runner }} + container: ${{ matrix.container }} steps: - name: install dependencies run: | @@ -32,46 +48,12 @@ jobs: git commit -am "CI: remove .github directory before building" DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar --git-ignore-branch -us -uc - - name: upload .deb files - run: | - mkdir -p "$HOME/.ssh" - echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" - chmod 600 "$HOME/.ssh/key" - export branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} - mv $GITHUB_WORKSPACE/build-area staging-$branch - rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" staging-$branch "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" - - staging-arm: - runs-on: ubuntu-24.04-arm - container: debian:12 - steps: - - name: install dependencies - run: | - echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc - apt update - apt install -y git-buildpackage build-essential debhelper-compat default-libmysqlclient-dev krb5-multidev libapparmor-dev libbz2-dev libcap-dev libdb-dev libexpat-dev libexttextcat-dev libicu-dev libldap2-dev liblua5.4-dev liblz4-dev liblzma-dev libpam0g-dev libpq-dev libsasl2-dev libsodium-dev libsqlite3-dev libssl-dev libstemmer-dev libsystemd-dev libwrap0-dev libzstd-dev pkg-config zlib1g-dev git libunwind-dev rsync - - - uses: actions/checkout@v4 - with: - path: dovecot - show-progress: false - fetch-depth: 0 - - - name: build - run: | - cd dovecot - git rm -r .github - git config --local user.name "test" - git config --local user.email "test@example.org" - git commit -am "CI: remove .github directory before building" - DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar --git-ignore-branch -us -uc - - - name: upload .deb files - run: | - mkdir -p "$HOME/.ssh" - echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" - chmod 600 "$HOME/.ssh/key" - export branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} - mv $GITHUB_WORKSPACE/build-area staging-$branch - rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" staging-$branch "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" - + # TODO: uncomment once trixie builds good + # - name: upload .deb files + # run: | + # mkdir -p "$HOME/.ssh" + # echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" + # chmod 600 "$HOME/.ssh/key" + # export branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} + # mv $GITHUB_WORKSPACE/build-area staging-$branch${{ matrix.dir_suffix }} + # rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" staging-$branch${{ matrix.dir_suffix }} "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" From 17c3c5180166ea858d0fae68d48a351b13a3d8fb Mon Sep 17 00:00:00 2001 From: j4n Date: Fri, 5 Jun 2026 11:12:56 +0200 Subject: [PATCH 2/3] ci: explicitly install libtirpc-dev to satisfy build deps --- .github/workflows/build-deb.yml | 2 +- .github/workflows/build-staging-deb.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 27516392d..56c7af38f 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -18,7 +18,7 @@ jobs: run: | echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc apt update - apt install -y git-buildpackage build-essential debhelper-compat default-libmysqlclient-dev krb5-multidev libapparmor-dev libbz2-dev libcap-dev libdb-dev libexpat-dev libexttextcat-dev libicu-dev libldap2-dev liblua5.4-dev liblz4-dev liblzma-dev libpam0g-dev libpq-dev libsasl2-dev libsodium-dev libsqlite3-dev libssl-dev libstemmer-dev libsystemd-dev libwrap0-dev libzstd-dev pkg-config zlib1g-dev git libunwind-dev rsync + apt install -y git-buildpackage build-essential debhelper-compat default-libmysqlclient-dev krb5-multidev libapparmor-dev libbz2-dev libcap-dev libdb-dev libexpat-dev libexttextcat-dev libicu-dev libldap2-dev liblua5.4-dev liblz4-dev liblzma-dev libpam0g-dev libpq-dev libsasl2-dev libsodium-dev libsqlite3-dev libssl-dev libstemmer-dev libsystemd-dev libtirpc-dev libwrap0-dev libzstd-dev pkg-config zlib1g-dev git libunwind-dev rsync - uses: actions/checkout@v4 with: diff --git a/.github/workflows/build-staging-deb.yml b/.github/workflows/build-staging-deb.yml index 1ba84f1a7..5a88cf588 100644 --- a/.github/workflows/build-staging-deb.yml +++ b/.github/workflows/build-staging-deb.yml @@ -31,7 +31,7 @@ jobs: run: | echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc apt update - apt install -y git-buildpackage build-essential debhelper-compat default-libmysqlclient-dev krb5-multidev libapparmor-dev libbz2-dev libcap-dev libdb-dev libexpat-dev libexttextcat-dev libicu-dev libldap2-dev liblua5.4-dev liblz4-dev liblzma-dev libpam0g-dev libpq-dev libsasl2-dev libsodium-dev libsqlite3-dev libssl-dev libstemmer-dev libsystemd-dev libwrap0-dev libzstd-dev pkg-config zlib1g-dev git libunwind-dev rsync + apt install -y git-buildpackage build-essential debhelper-compat default-libmysqlclient-dev krb5-multidev libapparmor-dev libbz2-dev libcap-dev libdb-dev libexpat-dev libexttextcat-dev libicu-dev libldap2-dev liblua5.4-dev liblz4-dev liblzma-dev libpam0g-dev libpq-dev libsasl2-dev libsodium-dev libsqlite3-dev libssl-dev libstemmer-dev libsystemd-dev libtirpc-dev libwrap0-dev libzstd-dev pkg-config zlib1g-dev git libunwind-dev rsync - uses: actions/checkout@v4 with: From 42bb7e5b6fe8138f1bbbcede62133ff1b2ab5d4d Mon Sep 17 00:00:00 2001 From: j4n Date: Fri, 5 Jun 2026 11:33:14 +0200 Subject: [PATCH 3/3] build with full matrix and upload to staging --- .github/workflows/build-staging-deb.yml | 30 ++++++++++++------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-staging-deb.yml b/.github/workflows/build-staging-deb.yml index 5a88cf588..53a4e5d30 100644 --- a/.github/workflows/build-staging-deb.yml +++ b/.github/workflows/build-staging-deb.yml @@ -11,13 +11,12 @@ jobs: strategy: matrix: include: - # TODO: re-enable bookworm once trixie builds good - # - runner: ubuntu-latest - # container: debian:12 - # dir_suffix: "" - # - runner: ubuntu-24.04-arm - # container: debian:12 - # dir_suffix: "" + - runner: ubuntu-latest + container: debian:12 + dir_suffix: "" + - runner: ubuntu-24.04-arm + container: debian:12 + dir_suffix: "" - runner: ubuntu-latest container: debian:13 dir_suffix: -trixie @@ -48,12 +47,11 @@ jobs: git commit -am "CI: remove .github directory before building" DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar --git-ignore-branch -us -uc - # TODO: uncomment once trixie builds good - # - name: upload .deb files - # run: | - # mkdir -p "$HOME/.ssh" - # echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" - # chmod 600 "$HOME/.ssh/key" - # export branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} - # mv $GITHUB_WORKSPACE/build-area staging-$branch${{ matrix.dir_suffix }} - # rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" staging-$branch${{ matrix.dir_suffix }} "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" + - name: upload .deb files + run: | + mkdir -p "$HOME/.ssh" + echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" + chmod 600 "$HOME/.ssh/key" + export branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} + mv $GITHUB_WORKSPACE/build-area staging-$branch${{ matrix.dir_suffix }} + rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" staging-$branch${{ matrix.dir_suffix }} "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/"