From 437f2aaa35d4240504a10aa85a4527d211e7d796 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 09:57:25 +0200 Subject: [PATCH 01/13] ci: try to build deb package --- .github/workflows/build-deb.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/build-deb.yml diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml new file mode 100644 index 000000000..736c114c6 --- /dev/null +++ b/.github/workflows/build-deb.yml @@ -0,0 +1,27 @@ +name: build + +on: + push: + branches: + - main + - github-ci + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: debian:12 + steps: + - uses: actions/checkout@v4 + + - name: build and upload .deb files + run: | + 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 + DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc + mkdir -p "$HOME/.ssh" + echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" + chmod 600 "$HOME/.ssh/key" + rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/build-area "${{ secrets.USERNAME }}@chatmail.at:/var/www/html/staging.chatmail.at/" + From 670cc824839edabfb27720abb2f7621edb87b34e Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 10:24:56 +0200 Subject: [PATCH 02/13] apt update --- .github/workflows/build-deb.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 736c114c6..1d1d16156 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -18,6 +18,7 @@ jobs: - name: build and upload .deb files run: | + 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 DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc mkdir -p "$HOME/.ssh" From 0d9ba93ecec352d2fab6576df370c5a76a5ae54d Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 11:10:30 +0200 Subject: [PATCH 03/13] add --mirror option --- .github/workflows/build-deb.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 1d1d16156..e70ffc27f 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -18,6 +18,7 @@ jobs: - name: build and upload .deb files 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 DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc From f1cd9ee7fa1316e46be47445caaca1cb344b3556 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 11:59:54 +0200 Subject: [PATCH 04/13] ls -la --- .github/workflows/build-deb.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index e70ffc27f..3d9c9f854 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -18,6 +18,8 @@ jobs: - name: build and upload .deb files run: | + ls -la + ls -la .. 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 From 8ba9979c0c4a0e100aa880596d6a343f3ffde95b Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:06:07 +0200 Subject: [PATCH 05/13] clone git repository instead of using the checkout action --- .github/workflows/build-deb.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 3d9c9f854..f32f3a5d3 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -14,16 +14,17 @@ jobs: runs-on: ubuntu-latest container: debian:12 steps: - - uses: actions/checkout@v4 - - name: build and upload .deb files run: | - ls -la - ls -la .. - 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 + 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 + + git clone https://github.com/chatmail/dovecot + cd dovecot + + echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc + mkdir -p "$HOME/.ssh" echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" chmod 600 "$HOME/.ssh/key" From a12a4891590302f12f6ef1f59b32ef8fccd875f9 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:09:06 +0200 Subject: [PATCH 06/13] split up into steps, retry to fix missing mirror --- .github/workflows/build-deb.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index f32f3a5d3..1c4141ffe 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -14,17 +14,23 @@ jobs: runs-on: ubuntu-latest container: debian:12 steps: - - name: build and upload .deb files + - name: install dependencies run: | 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 + - name: clone repository + run: | git clone https://github.com/chatmail/dovecot cd dovecot + - name: build + run: | echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc - DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc + DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc --git-pbuilder-options="--mirror http://deb.debian.org/debian" + - name: upload .deb files + run: | mkdir -p "$HOME/.ssh" echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" chmod 600 "$HOME/.ssh/key" From a83d23fcf2ed087432a149e20f516539e8903f78 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:13:44 +0200 Subject: [PATCH 07/13] fix mirror hopefully --- .github/workflows/build-deb.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 1c4141ffe..7aaf10b2b 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -16,6 +16,7 @@ jobs: 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 @@ -26,8 +27,7 @@ jobs: - name: build run: | - echo "MIRRORSITE=http://deb.debian.org/debian" > /etc/pbuilderrc - DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc --git-pbuilder-options="--mirror http://deb.debian.org/debian" + DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc - name: upload .deb files run: | From 9d48af6586eaa15226fd4978db9f437fa070b95d Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:15:46 +0200 Subject: [PATCH 08/13] fix path --- .github/workflows/build-deb.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 7aaf10b2b..37f331f7c 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -21,12 +21,13 @@ jobs: 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 - name: clone repository - run: | - git clone https://github.com/chatmail/dovecot - cd dovecot + run: git clone https://github.com/chatmail/dovecot - name: build run: | + cd dovecot + ls -la + ls -la .. DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc - name: upload .deb files From 3a9d05c8400bc29cb2ddb3579e6c5ef5e2ccb8ce Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:17:37 +0200 Subject: [PATCH 09/13] add libunwind-dev dependency --- .github/workflows/build-deb.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 37f331f7c..3ccec5eeb 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 + 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 - name: clone repository run: git clone https://github.com/chatmail/dovecot @@ -26,8 +26,6 @@ jobs: - name: build run: | cd dovecot - ls -la - ls -la .. DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc - name: upload .deb files From 64ae29bc62d5353210038ad2c5d5335ae41af728 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 12:37:07 +0200 Subject: [PATCH 10/13] install rsync --- .github/workflows/build-deb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 3ccec5eeb..6871e3b23 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 + 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 - name: clone repository run: git clone https://github.com/chatmail/dovecot From fbe2f5427ecaded5c75a8a3599ff70dcc7693813 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 14:07:05 +0200 Subject: [PATCH 11/13] build on arm, upload to download.delta.chat/dovecot/ --- .github/workflows/build-deb.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 6871e3b23..956291e1f 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -11,7 +11,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: [ubuntu-latest, ubuntu-24.04-arm] container: debian:12 steps: - name: install dependencies @@ -33,5 +33,5 @@ jobs: mkdir -p "$HOME/.ssh" echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" chmod 600 "$HOME/.ssh/key" - rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/build-area "${{ secrets.USERNAME }}@chatmail.at:/var/www/html/staging.chatmail.at/" - + rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/build-area/ "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" + From d3eeb00c13cfc98887835b16718aba73da5c5637 Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 28 Jun 2025 14:15:35 +0200 Subject: [PATCH 12/13] split up CI runs per architecture --- .github/workflows/build-deb.yml | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index 956291e1f..a7583022d 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -10,8 +10,33 @@ on: workflow_dispatch: jobs: - build: - runs-on: [ubuntu-latest, ubuntu-24.04-arm] + build-amd64: + runs-on: ubuntu-latest + 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 + + - name: clone repository + run: git clone https://github.com/chatmail/dovecot + + - name: build + run: | + cd dovecot + DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc + + - name: upload .deb files + run: | + mkdir -p "$HOME/.ssh" + echo "${{ secrets.KEY }}" > "$HOME/.ssh/key" + chmod 600 "$HOME/.ssh/key" + rsync -rILvh -e "ssh -i $HOME/.ssh/key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/build-area/ "${{ secrets.USERNAME }}@download.delta.chat:/var/www/html/download/dovecot/" + + build-arm: + runs-on: ubuntu-24.04-arm container: debian:12 steps: - name: install dependencies From b4b6f2bd01e13de250f2be526c141d0f0c7b508b Mon Sep 17 00:00:00 2001 From: link2xt Date: Mon, 30 Jun 2025 12:32:59 +0000 Subject: [PATCH 13/13] checkout using actions/checkout --- .github/workflows/build-deb.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yml b/.github/workflows/build-deb.yml index a7583022d..89ee63e3a 100644 --- a/.github/workflows/build-deb.yml +++ b/.github/workflows/build-deb.yml @@ -5,6 +5,7 @@ on: branches: - main - github-ci + - link2xt/deb-checkout # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -21,12 +22,16 @@ jobs: 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 - name: clone repository - run: git clone https://github.com/chatmail/dovecot + uses: actions/checkout@v4 + with: + path: dovecot + show-progress: false + fetch-depth: 0 - name: build run: | cd dovecot - DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar -us -uc + DEB_BUILD_OPTIONS=nocheck gbp buildpackage --git-no-pristine-tar --git-ignore-branch -us -uc - name: upload .deb files run: | @@ -46,7 +51,11 @@ jobs: 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 - name: clone repository - run: git clone https://github.com/chatmail/dovecot + uses: actions/checkout@v4 + with: + path: dovecot + show-progress: false + fetch-depth: 0 - name: build run: |