From b3ced2816f28c12295bbc16484e2202124354579 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:15:41 +0200 Subject: [PATCH 01/22] change: upload to bs --- .github/workflows/build-deb.yaml | 42 ++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 1592ca1..66f8a6d 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -1,4 +1,4 @@ -name: Build DEB Package +name: Build and Publish Debian Package on: push: @@ -79,14 +79,6 @@ jobs: env: GITHUB_REF_NAME: ${{ github.ref_name }} - - name: Set VERSION env variable - id: set_version - run: | - echo "VERSION=$(dpkg-parsechangelog | sed -n 's/^Version: //p')" >> $GITHUB_ENV - - - name: Prepare autotools - run: autoreconf -fi - - name: Build .deb package shell: bash run: | @@ -96,22 +88,40 @@ jobs: DEBFULLNAME="Robert Burger" if ! dpkg-parsechangelog | grep -q "~${CODENAME}"; then - dch --local ~${CODENAME} "Build for ${CODENAME}"; + dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; fi dpkg-buildpackage -us -uc -S - dpkg-buildpackage -us -uc -d + dpkg-buildpackage -us -uc -d -b - - name: Collect .deb artifact + - name: Debug artifact files 1 run: | - mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} - mv ../libosal*.deb artifacts/${{ matrix.os }}/${{ matrix.version }} - + ls -l ../ + - name: Set sanitized image name id: sanitize run: | version=$(dpkg-parsechangelog | sed -n 's/^Version: //p') - echo "sanitized_image=$(echo "${version}_amd64" | tr '/:' '--')" >> $GITHUB_OUTPUT + echo "sanitized_image=$(echo "${version}" | tr '/:' '--')" >> $GITHUB_OUTPUT + + - name: Upload to APT repository + env: + DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} + run: | + FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" + + curl -X POST https://deb.burger-system.de/upload \ + -H "Authorization: Bearer $DEPLOY_TOKEN" \ + -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ + -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ + -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ + -F "dsc=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ + -F "source=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.tar.gz" + + - name: Collect .deb artifact + run: | + mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} + mv ../libosal*.deb artifacts/${{ matrix.os }}/${{ matrix.version }} - name: Upload .deb package artifact uses: actions/upload-artifact@v4 From 17a871d1dec9c7708783e8c95f33034494f1ff3f Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:26:40 +0200 Subject: [PATCH 02/22] change: add dbgsym file --- .github/workflows/build-deb.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 66f8a6d..c895bd4 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -109,10 +109,19 @@ jobs: DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} run: | FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" + case "${{ matrix.distro }}" in + ubuntu24.04|ubuntu-22.04) + DBGSYM_EXT="ddeb" + ;; + *) + DBGSYM_EXT="deb" + ;; + esac curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ + -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.$DBGSYM_EXT" \ -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ -F "dsc=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ From b52ec2b2bcd03f123d38f8227ca954c394bffa8d Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:30:52 +0200 Subject: [PATCH 03/22] change: add dbgsym file --- .github/workflows/build-deb.yaml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index c895bd4..ea0752e 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -109,19 +109,18 @@ jobs: DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} run: | FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" - case "${{ matrix.distro }}" in - ubuntu24.04|ubuntu-22.04) - DBGSYM_EXT="ddeb" - ;; - *) - DBGSYM_EXT="deb" - ;; - esac + + DISTRO="${{ matrix.distro }}" + if [[ "$DISTRO" == "ubuntu24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then + DBGSYM_EXT="ddeb" + else + DBGSYM_EXT="deb" + fi curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.$DBGSYM_EXT" \ + -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.${DBGSYM_EXT}" \ -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ -F "dsc=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ From 597061bf0942423c1d1822119c0f7fb4c62edb3e Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:32:17 +0200 Subject: [PATCH 04/22] change: add dbgsym file --- .github/workflows/build-deb.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index ea0752e..c16b5e6 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -107,6 +107,7 @@ jobs: - name: Upload to APT repository env: DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} + shell: bash run: | FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" From 893163a26f22b5b135a4ec87ae0a1a131626edc6 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:35:12 +0200 Subject: [PATCH 05/22] change: add dbgsym file --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index c16b5e6..14fe305 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -112,7 +112,7 @@ jobs: FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" DISTRO="${{ matrix.distro }}" - if [[ "$DISTRO" == "ubuntu24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then + if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then DBGSYM_EXT="ddeb" else DBGSYM_EXT="deb" From 1c32b878ece8957c5e2c6ee4e2341dc7f3d33f63 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 06:39:45 +0200 Subject: [PATCH 06/22] change: add dev file --- .github/workflows/build-deb.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 14fe305..9633a4e 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -121,6 +121,7 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ + -F "deb-dev=@../libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.${DBGSYM_EXT}" \ -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ From 57d70ed46a2f7be2a1ed39fcb05880c988969afd Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:09:07 +0200 Subject: [PATCH 07/22] change: add dev file --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 9633a4e..6d44094 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -91,7 +91,7 @@ jobs: dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; fi - dpkg-buildpackage -us -uc -S + dpkg-buildpackage -us -uc -S -sa dpkg-buildpackage -us -uc -d -b - name: Debug artifact files 1 From a309ba84888ccc005ee38f49b39ff2b9fdd8224a Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:13:11 +0200 Subject: [PATCH 08/22] change: add dev file --- .github/workflows/build-deb.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 6d44094..76e57d0 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -91,8 +91,7 @@ jobs: dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; fi - dpkg-buildpackage -us -uc -S -sa - dpkg-buildpackage -us -uc -d -b + dpkg-buildpackage -us -uc -sa - name: Debug artifact files 1 run: | From 128bb2f1b281bbe03dc563b0eb18a8ca7cd43c06 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:18:55 +0200 Subject: [PATCH 09/22] change: add dev file --- .github/workflows/build-deb.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 76e57d0..ee8e197 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -112,16 +112,22 @@ jobs: DISTRO="${{ matrix.distro }}" if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then - DBGSYM_EXT="ddeb" - else - DBGSYM_EXT="deb" + OLD_EXT=".ddeb" + NEW_EXT=".deb" + + OLD_FILE="libosal-dbgsym_${{ steps.sanitized.outputs.sanitized_image }}_amd64${OLD_EXT}" + NEW_FILE="libosal-dbgsym_${{ steps.sanitized.outputs.sanitized_image }}_amd64${NEW_EXT}" + CHANGES_FILE="libosal_${{ steps.sanitized.outputs.sanitized_image }}_amd64.changes" + + mv "$OLD_FILE" "$NEW_FILE" + sed -i "s/${OLD_FILE}/${NEW_FILE}/g" "$CHANGES_FILE" fi curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ -F "deb-dev=@../libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.${DBGSYM_EXT}" \ + -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ -F "dsc=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ From ebda9a8028ae65e3d1aaffffea2c40555a4a3cb8 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:22:21 +0200 Subject: [PATCH 10/22] change: add dev file --- .github/workflows/build-deb.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index ee8e197..492f226 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -108,16 +108,15 @@ jobs: DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} shell: bash run: | - FILENAME="../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}" - DISTRO="${{ matrix.distro }}" + SANITIZED_IMAGE="${{ steps.sanitized.outputs.sanitized_image }}" if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then OLD_EXT=".ddeb" NEW_EXT=".deb" - OLD_FILE="libosal-dbgsym_${{ steps.sanitized.outputs.sanitized_image }}_amd64${OLD_EXT}" - NEW_FILE="libosal-dbgsym_${{ steps.sanitized.outputs.sanitized_image }}_amd64${NEW_EXT}" - CHANGES_FILE="libosal_${{ steps.sanitized.outputs.sanitized_image }}_amd64.changes" + OLD_FILE="libosal-dbgsym_${SANITIZED_IMAGE}_amd64${OLD_EXT}" + NEW_FILE="libosal-dbgsym_${SANITIZED_IMAGE}_amd64${NEW_EXT}" + CHANGES_FILE="libosal_${SANITIZED_IMAGE}_amd64.changes" mv "$OLD_FILE" "$NEW_FILE" sed -i "s/${OLD_FILE}/${NEW_FILE}/g" "$CHANGES_FILE" From 6fae051b1f0569761973f6ea84ec834081cb09b6 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:25:35 +0200 Subject: [PATCH 11/22] fix: sanitized name --- .github/workflows/build-deb.yaml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 492f226..90ac563 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -109,7 +109,8 @@ jobs: shell: bash run: | DISTRO="${{ matrix.distro }}" - SANITIZED_IMAGE="${{ steps.sanitized.outputs.sanitized_image }}" + SANITIZED_IMAGE="${{ steps.sanitize.outputs.sanitized_image }}" + if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then OLD_EXT=".ddeb" NEW_EXT=".deb" @@ -124,13 +125,13 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "deb-dev=@../libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "dbgsym=@../libosal-dbgsym_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "changes=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ - -F "buildinfo=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ - -F "dsc=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ - -F "source=@../libosal_${{ steps.sanitize.outputs.sanitized_image }}.tar.gz" + -F "deb=@../libosal_${SANITIZED_IMAGE}_amd64.deb" \ + -F "deb-dev=@../libosal-dev_${SANITIZED_IMAGE}_amd64.deb" \ + -F "dbgsym=@../libosal-dbgsym_${SANITIZED_IMAGE}_amd64.deb" \ + -F "changes=@../libosal_${SANITIZED_IMAGE}_amd64.changes" \ + -F "buildinfo=@../libosal_${SANITIZED_IMAGE}_amd64.buildinfo" \ + -F "dsc=@../libosal_${SANITIZED_IMAGE}.dsc" \ + -F "source=@../libosal_${SANITIZED_IMAGE}.tar.gz" - name: Collect .deb artifact run: | From 3beb9c7ffa317b8a6ecec252ed68add182728811 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:28:34 +0200 Subject: [PATCH 12/22] fix: pathes --- .github/workflows/build-deb.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 90ac563..64c3e4a 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -119,8 +119,8 @@ jobs: NEW_FILE="libosal-dbgsym_${SANITIZED_IMAGE}_amd64${NEW_EXT}" CHANGES_FILE="libosal_${SANITIZED_IMAGE}_amd64.changes" - mv "$OLD_FILE" "$NEW_FILE" - sed -i "s/${OLD_FILE}/${NEW_FILE}/g" "$CHANGES_FILE" + mv "../$OLD_FILE" "../$NEW_FILE" + sed -i "s/${OLD_FILE}/${NEW_FILE}/g" "../$CHANGES_FILE" fi curl -X POST https://deb.burger-system.de/upload \ From f7bf00f434c9c3cf12955f6f33457088974da4b0 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:35:21 +0200 Subject: [PATCH 13/22] fix: compression --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 64c3e4a..2c0616a 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -33,7 +33,7 @@ jobs: build-deb: runs-on: ubuntu-latest env: - DEB_BUILD_OPTIONS: nocheck + DEB_BUILD_OPTIONS: "compress=gzip nocheck" strategy: matrix: distro: [debian-12, debian-11, ubuntu-24.04, ubuntu-22.04] From 5e15e936392d6adcffc01640c1684d5f30a60295 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:39:25 +0200 Subject: [PATCH 14/22] fix: compression --- .github/workflows/build-deb.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 2c0616a..994f63c 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -91,6 +91,9 @@ jobs: dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; fi + echo "DEB_BUILD_OPTIONS=$DEB_BUILD_OPTIONS" + echo "compression=gzip" | sudo tee /etc/dpkg/dpkg.cfg.d/force-gzip + dpkg-buildpackage -us -uc -sa - name: Debug artifact files 1 From fbc194b2c6cb9b23f377467aa8a93b3a87c346d6 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:40:48 +0200 Subject: [PATCH 15/22] fix: compression --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 994f63c..fd1df28 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -92,7 +92,7 @@ jobs: fi echo "DEB_BUILD_OPTIONS=$DEB_BUILD_OPTIONS" - echo "compression=gzip" | sudo tee /etc/dpkg/dpkg.cfg.d/force-gzip + echo "compression=gzip" | tee /etc/dpkg/dpkg.cfg.d/force-gzip dpkg-buildpackage -us -uc -sa From f335b58ac8a45949fc31b6b40919eab6cc0d9648 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:43:59 +0200 Subject: [PATCH 16/22] fix: compression --- .github/workflows/build-deb.yaml | 3 --- debian/rules | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index fd1df28..2c0616a 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -91,9 +91,6 @@ jobs: dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; fi - echo "DEB_BUILD_OPTIONS=$DEB_BUILD_OPTIONS" - echo "compression=gzip" | tee /etc/dpkg/dpkg.cfg.d/force-gzip - dpkg-buildpackage -us -uc -sa - name: Debug artifact files 1 diff --git a/debian/rules b/debian/rules index 1e32a82..9b4752f 100755 --- a/debian/rules +++ b/debian/rules @@ -15,6 +15,8 @@ %: dh $@ +override_dh_builddeb: + dh_builddeb -- -Zgzip # dh_make generated override targets # This is example for Cmake (See https://bugs.debian.org/641051 ) From b5fc9d68b39c2c9d51147d2ad1ace0472e952bb3 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 07:54:50 +0200 Subject: [PATCH 17/22] fix: versioning --- .github/workflows/build-deb.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 2c0616a..12fdca2 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -86,9 +86,18 @@ jobs: CODENAME=$(lsb_release -sc) DEBEMAIL="robert.burger@dlr.de" DEBFULLNAME="Robert Burger" - - if ! dpkg-parsechangelog | grep -q "~${CODENAME}"; then - dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}"; + VERSION=$(dpkg-parsechangelog --show-field Version) + + # Check if version already contains codename suffix + if [[ "$VERSION" == *"~${CODENAME}"* || "$VERSION" == *"+${CODENAME}"* ]]; then + echo "Version already contains codename suffix, skipping dch." + else + # If there's already a ~ in version (like ~pre1), add +codename + if [[ "$VERSION" == *"~"* ]]; then + dch --local +${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}" + else + dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}" + fi fi dpkg-buildpackage -us -uc -sa From ff5d5404cdd2014ef78bd994c288d35f3d22a71e Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 09:35:51 +0200 Subject: [PATCH 18/22] update: artifact names --- .github/workflows/build-deb.yaml | 81 ++++++++++++++------------------ 1 file changed, 34 insertions(+), 47 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 12fdca2..4eed6d0 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -34,6 +34,7 @@ jobs: runs-on: ubuntu-latest env: DEB_BUILD_OPTIONS: "compress=gzip nocheck" + PKGNAME: "libosal" strategy: matrix: distro: [debian-12, debian-11, ubuntu-24.04, ubuntu-22.04] @@ -59,9 +60,10 @@ jobs: steps: - name: Install build dependencies + shell: bash run: | apt-get update - apt-get install -y build-essential devscripts debhelper autotools-dev autoconf-archive fakeroot sed git python3-pip python3-venv curl jq + apt-get install -y build-essential devscripts debhelper autoconf-archive autotools-dev pkg-config sed git curl jq rsync - name: Checkout source uses: actions/checkout@v4 @@ -124,38 +126,46 @@ jobs: OLD_EXT=".ddeb" NEW_EXT=".deb" - OLD_FILE="libosal-dbgsym_${SANITIZED_IMAGE}_amd64${OLD_EXT}" - NEW_FILE="libosal-dbgsym_${SANITIZED_IMAGE}_amd64${NEW_EXT}" - CHANGES_FILE="libosal_${SANITIZED_IMAGE}_amd64.changes" + OLD_FILE="${PKGNAME}-dbgsym_${SANITIZED_IMAGE}_amd64${OLD_EXT}" + NEW_FILE="${PKGNAME}-dbgsym_${SANITIZED_IMAGE}_amd64${NEW_EXT}" + CHANGES_FILE="${PKGNAME}_${SANITIZED_IMAGE}_amd64.changes" mv "../$OLD_FILE" "../$NEW_FILE" sed -i "s/${OLD_FILE}/${NEW_FILE}/g" "../$CHANGES_FILE" fi + DBG_FILE="../${PKGNAME}-dbgsym_${SANITIZED_IMAGE}_amd64.deb" + DEV_FILE="../${PKGNAME}-dev_${SANITIZED_IMAGE}_amd64.deb" + DEB_FILE="../${PKGNAME}_${SANITIZED_IMAGE}_amd64.deb" + CHANGES_FILE="../${PKGNAME}_${SANITIZED_IMAGE}_amd64.changes" + BUILDINFO_FILE="../${PKGNAME}_${SANITIZED_IMAGE}_amd64.buildinfo" + DSC_FILE="../${PKGNAME}_${SANITIZED_IMAGE}.dsc" + TAR_FILE="../${PKGNAME}_${SANITIZED_IMAGE}.tar.gz" + + for f in "$DEB_FILE" "$DEV_FILE" "$DBG_FILE" "$CHANGES_FILE" "$BUILDINFO_FILE" "$DSC_FILE" "$TAR_FILE"; do + [[ -f "$f" ]] || { echo "Missing file: $f"; exit 1; } + done + curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@../libosal_${SANITIZED_IMAGE}_amd64.deb" \ - -F "deb-dev=@../libosal-dev_${SANITIZED_IMAGE}_amd64.deb" \ - -F "dbgsym=@../libosal-dbgsym_${SANITIZED_IMAGE}_amd64.deb" \ - -F "changes=@../libosal_${SANITIZED_IMAGE}_amd64.changes" \ - -F "buildinfo=@../libosal_${SANITIZED_IMAGE}_amd64.buildinfo" \ - -F "dsc=@../libosal_${SANITIZED_IMAGE}.dsc" \ - -F "source=@../libosal_${SANITIZED_IMAGE}.tar.gz" - + -F "deb=@$DEB_FILE" \ + -F "deb-dev=@$DEV_FILE" \ + -F "dbgsym=@$DBG_FILE" \ + -F "changes=@$CHANGES_FILE" \ + -F "buildinfo=@$BUILDINFO_FILE" \ + -F "dsc=@$DSC_FILE" \ + -F "source=@$TAR_FILE" + - name: Collect .deb artifact run: | - mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} - mv ../libosal*.deb artifacts/${{ matrix.os }}/${{ matrix.version }} + mkdir -p artifacts/ + rsync -av --exclude='${PKGNAME}' ../ artifacts/ - name: Upload .deb package artifact uses: actions/upload-artifact@v4 with: - name: libosal_${{ steps.sanitize.outputs.sanitized_image }}.deb - path: artifacts/${{ matrix.os }}/${{ matrix.version }}/*.deb - - - name: Debug artifact files - run: | - ls -l ./artifacts/${{ matrix.os }}/${{ matrix.version }}/ + name: ${PKGNAME}-artifacts-${{ steps.sanitize.outputs.sanitized_image }} + path: artifacts/ # Fetch the release upload URL dynamically on tag builds - name: Get Release Upload URL @@ -176,10 +186,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} UPLOAD_URL: ${{ steps.get_release.outputs.upload_url }} - FILE_PATH: ./artifacts/${{ matrix.os }}/${{ matrix.version }}/libosal_${{ steps.sanitize.outputs.sanitized_image }}.deb - FILE_PATH_DEV: ./artifacts/${{ matrix.os }}/${{ matrix.version }}/libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}.deb - FILE_NAME: libosal_${{ steps.sanitize.outputs.sanitized_image }}.deb - FILE_NAME_DEV: libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}.deb + FILE_PATH: ./artifacts/${PKGNAME}_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb + FILE_PATH_DEV: ./artifacts/${PKGNAME}-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb + FILE_NAME: ${PKGNAME}_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb + FILE_NAME_DEV: ${PKGNAME}-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb run: | echo "Uploading $FILE_PATH to $UPLOAD_URL?name=$FILE_NAME" curl --fail -X POST \ @@ -195,26 +205,3 @@ jobs: --data-binary @"$FILE_PATH_DEV" \ "$UPLOAD_URL?name=$FILE_NAME_DEV" - - name: Upload to Cloudsmith (${{ matrix.os }}/${{ matrix.version }}) - if: startsWith(github.ref, 'refs/tags/') - env: - CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} - shell: bash - run: | - FILENAME="artifacts/${{ matrix.os }}/${{ matrix.version }}/libosal_${{ steps.sanitize.outputs.sanitized_image }}.deb" - FILENAME_DEV="artifacts/${{ matrix.os }}/${{ matrix.version }}/libosal-dev_${{ steps.sanitize.outputs.sanitized_image }}.deb" - - python3 -m venv cloudsmith - cd cloudsmith - source bin/activate - - python3 -m pip install --upgrade pip - pip3 install cloudsmith-cli - - cloudsmith push deb robertburger/common/${{ matrix.os }}/${{ matrix.version }} ../${FILENAME} \ - --republish \ - --api-key "$CLOUDSMITH_API_KEY" - - cloudsmith push deb robertburger/common/${{ matrix.os }}/${{ matrix.version }} ../${FILENAME_DEV} \ - --republish \ - --api-key "$CLOUDSMITH_API_KEY" From f2bb515df1d121d02e00314e158c24b2786db8c2 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 09:38:56 +0200 Subject: [PATCH 19/22] fix: env var usage --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 4eed6d0..6f8cded 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -164,7 +164,7 @@ jobs: - name: Upload .deb package artifact uses: actions/upload-artifact@v4 with: - name: ${PKGNAME}-artifacts-${{ steps.sanitize.outputs.sanitized_image }} + name: ${{ env.PKGNAME }}-artifacts-${{ steps.sanitize.outputs.sanitized_image }} path: artifacts/ # Fetch the release upload URL dynamically on tag builds From f42d0c8a16848b0983a6b096c673caec20d34ef6 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 09:55:43 +0200 Subject: [PATCH 20/22] cleanup: upload to release --- .github/workflows/build-deb.yaml | 55 ++++++++++++-------------------- 1 file changed, 21 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 6f8cded..8de07d3 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -75,11 +75,8 @@ jobs: - name: update branch name and version run: | - safe_branch=$(echo "${GITHUB_REF_NAME}" | tr '/' '-') VERSION=$(dpkg-parsechangelog | sed -n 's/^Version: //p') sed "s|PACKAGE_VERSION|$VERSION|" configure.ac.in > configure.ac - env: - GITHUB_REF_NAME: ${{ github.ref_name }} - name: Build .deb package shell: bash @@ -168,40 +165,30 @@ jobs: path: artifacts/ # Fetch the release upload URL dynamically on tag builds - - name: Get Release Upload URL + - name: Upload all artifacts to Release if: startsWith(github.ref, 'refs/tags/') - id: get_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REF_NAME: ${{ github.ref_name }} run: | release_json=$(curl -sSL \ - -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Authorization: token $GITHUB_TOKEN" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${{ github.repository }}/releases/tags/${GITHUB_REF_NAME}") + upload_url=$(echo "$release_json" | jq -r '.upload_url' | sed -e "s/{?name,label}//") - echo "upload_url=$upload_url" >> $GITHUB_OUTPUT - env: - GITHUB_REF_NAME: ${{ github.ref_name }} - - - name: Upload asset manually with curl - if: startsWith(github.ref, 'refs/tags/') - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - UPLOAD_URL: ${{ steps.get_release.outputs.upload_url }} - FILE_PATH: ./artifacts/${PKGNAME}_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb - FILE_PATH_DEV: ./artifacts/${PKGNAME}-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb - FILE_NAME: ${PKGNAME}_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb - FILE_NAME_DEV: ${PKGNAME}-dev_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb - run: | - echo "Uploading $FILE_PATH to $UPLOAD_URL?name=$FILE_NAME" - curl --fail -X POST \ - -H "Authorization: token $GITHUB_TOKEN" \ - -H "Content-Type: application/vnd.debian.binary-package" \ - --data-binary @"$FILE_PATH" \ - "$UPLOAD_URL?name=$FILE_NAME" - - echo "Uploading $FILE_PATH_DEV to $UPLOAD_URL?name=$FILE_NAME_DEV" - curl --fail -X POST \ - -H "Authorization: token $GITHUB_TOKEN" \ - -H "Content-Type: application/vnd.debian.binary-package" \ - --data-binary @"$FILE_PATH_DEV" \ - "$UPLOAD_URL?name=$FILE_NAME_DEV" - + echo "Release upload URL: $upload_url" + + if [ -d "./artifacts" ]; then + for file in ./artifacts/*; do + filename=$(basename "$file") + echo "Uploading $file as $filename" + curl --fail -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/octet-stream" \ + --data-binary @"$file" \ + "$upload_url?name=$filename" + done + else + echo "Artifacts directory not found, skipping upload." + fi From 20e011fc3fc24e0a45384d8501375fc08436bd98 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 09:59:14 +0200 Subject: [PATCH 21/22] fix: exclude from packaging --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 8de07d3..43cdcb8 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -156,7 +156,7 @@ jobs: - name: Collect .deb artifact run: | mkdir -p artifacts/ - rsync -av --exclude='${PKGNAME}' ../ artifacts/ + rsync -av --exclude=${PKGNAME} ../ artifacts/ - name: Upload .deb package artifact uses: actions/upload-artifact@v4 From 66deec776d84e482a62acd1672cf6c7fc29e3f6a Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Tue, 5 Aug 2025 07:08:59 +0200 Subject: [PATCH 22/22] fix: typo --- .github/workflows/build-deb.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 43cdcb8..c1692b4 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -101,7 +101,7 @@ jobs: dpkg-buildpackage -us -uc -sa - - name: Debug artifact files 1 + - name: Debug artifact files run: | ls -l ../