From cd8b1be12548542fa150ee60f6497b08c7c959dc Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 17:48:32 +0200 Subject: [PATCH 01/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 9b76d25..d35c811 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -136,9 +136,21 @@ jobs: -H "Content-Type: application/vnd.debian.binary-package" \ --data-binary @"$FILE_PATH" \ "$UPLOAD_URL?name=$FILE_NAME" - + + - name: Upload to APT repository + env: + DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} + run: | + FILENAME="artifacts/${{ matrix.os }}/${{ matrix.version }}/robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.deb" + + curl -X POST https://deb.burger-system.de/upload \ + -H "Authorization: Bearer $DEPLOY_TOKEN" \ + -F "deb=@../${FILENAME}" + # -F "changes=@../yourpackage.changes" \ + # -F "dsc=@../yourpackage.dsc" + - name: Upload to Cloudsmith (${{ matrix.os }}/${{ matrix.version }}) - #if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') env: CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} shell: bash From a70a623b1e405730e34f243e73c39d492381cbc3 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 17:50:30 +0200 Subject: [PATCH 02/14] Update build-deb.yaml --- .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 d35c811..97f2fa2 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -145,7 +145,7 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@../${FILENAME}" + -F "deb=@${FILENAME}" # -F "changes=@../yourpackage.changes" \ # -F "dsc=@../yourpackage.dsc" From 71bd2fced2d32bdb1f0bcf3d0a39cd08dafdfae2 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 18:16:57 +0200 Subject: [PATCH 03/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 41 ++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 97f2fa2..d3fc544 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -81,22 +81,38 @@ 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 - - name: Collect .deb artifact + - name: Debug artifact files 1 run: | - mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} - mv ../robotkernel-service-helper*.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=@${FILENAME}_amd64.deb" \ + -F "changes=@${FILENAME}.changes" \ + -F "dsc=@${FILENAME}.dsc" + + - name: Collect .deb artifact + run: | + mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} + mv ../robotkernel-service-helper*.deb artifacts/${{ matrix.os }}/${{ matrix.version }} - name: Upload .deb package artifact uses: actions/upload-artifact@v4 @@ -136,18 +152,7 @@ jobs: -H "Content-Type: application/vnd.debian.binary-package" \ --data-binary @"$FILE_PATH" \ "$UPLOAD_URL?name=$FILE_NAME" - - - name: Upload to APT repository - env: - DEPLOY_TOKEN: ${{ secrets.BS_UPLOAD_KEY }} - run: | - FILENAME="artifacts/${{ matrix.os }}/${{ matrix.version }}/robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.deb" - - curl -X POST https://deb.burger-system.de/upload \ - -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@${FILENAME}" - # -F "changes=@../yourpackage.changes" \ - # -F "dsc=@../yourpackage.dsc" + - name: Upload to Cloudsmith (${{ matrix.os }}/${{ matrix.version }}) if: startsWith(github.ref, 'refs/tags/') From abeb96dd0c6e8f6b72fbe2dfeeed2055ccd689e9 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 18:18:47 +0200 Subject: [PATCH 04/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index d3fc544..53b6f57 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -105,9 +105,10 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@${FILENAME}_amd64.deb" \ - -F "changes=@${FILENAME}.changes" \ - -F "dsc=@${FILENAME}.dsc" + -F "deb=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.deb" \ + -F "deb=@../robotkernel-service-helper-dev_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.deb" \ + -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.changes" \ + -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}".dsc" - name: Collect .deb artifact run: | From 509ae553c4a582efa3a43d432b91329f6ca4b7ed Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 18:19:47 +0200 Subject: [PATCH 05/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 53b6f57..d538f65 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -106,7 +106,6 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.deb" \ - -F "deb=@../robotkernel-service-helper-dev_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.deb" \ -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.changes" \ -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}".dsc" From 0be6700fe51b0c8febe1b82142b150d18e02cff0 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 18:21:25 +0200 Subject: [PATCH 06/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index d538f65..03ccbf7 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -105,9 +105,9 @@ jobs: curl -X POST https://deb.burger-system.de/upload \ -H "Authorization: Bearer $DEPLOY_TOKEN" \ - -F "deb=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.deb" \ - -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}"_amd64.changes" \ - -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}".dsc" + -F "deb=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ + -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ + -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.dsc" - name: Collect .deb artifact run: | From 340ff08aa880edeea54b7c48f5201068641cb163 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 18:24:26 +0200 Subject: [PATCH 07/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index 03ccbf7..f55cf08 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -107,7 +107,9 @@ jobs: -H "Authorization: Bearer $DEPLOY_TOKEN" \ -F "deb=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ - -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.dsc" + -F "buildinfo=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ + -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ + -F "source=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.tar.gz" - name: Collect .deb artifact run: | From 19c40240b790d0eba5248a8eb7e7963ca9de0028 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 19:03:25 +0200 Subject: [PATCH 08/14] Update build-deb.yaml --- .github/workflows/build-deb.yaml | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index f55cf08..5d799f0 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -54,7 +54,7 @@ jobs: - name: Install build dependencies run: | apt-get update - apt-get install -y build-essential devscripts debhelper autotools-dev autoconf-archive fakeroot sed git tar gzip python3-pip python3-venv curl jq + apt-get install -y build-essential devscripts debhelper autotools-dev autoconf-archive sed git tar gzip curl jq - name: Checkout source uses: actions/checkout@v4 @@ -154,23 +154,3 @@ jobs: -H "Content-Type: application/vnd.debian.binary-package" \ --data-binary @"$FILE_PATH" \ "$UPLOAD_URL?name=$FILE_NAME" - - - - 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 }}/robotkernel-service-helper_${{ 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/robotkernel/${{ matrix.os }}/${{ matrix.version }} ../${FILENAME} \ - --republish \ - --api-key "$CLOUDSMITH_API_KEY" From 937b4ec8ab9010843b201c674f6210c23cbb9b31 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Thu, 31 Jul 2025 21:04:03 +0200 Subject: [PATCH 09/14] Aktualisieren von build-deb.yaml --- .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 5d799f0..b3a71cc 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -85,7 +85,7 @@ jobs: fi dpkg-buildpackage -us -uc -S - dpkg-buildpackage -us -uc -d + dpkg-buildpackage -us -uc -d -b - name: Debug artifact files 1 run: | From 5c6193239a98ae16cd306fff4b635d399183a644 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 10:05:42 +0200 Subject: [PATCH 10/14] fix: unified action --- .github/workflows/build-deb.yaml | 125 +++++++++++++++++++------------ 1 file changed, 78 insertions(+), 47 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index b3a71cc..bc14199 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -26,7 +26,8 @@ jobs: build-deb: runs-on: ubuntu-latest env: - DEB_BUILD_OPTIONS: nocheck + DEB_BUILD_OPTIONS: "compress=gzip nocheck" + PKGNAME: "robotkernel-service-helper" strategy: matrix: distro: [debian-12, debian-11, ubuntu-24.04, ubuntu-22.04] @@ -52,9 +53,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 sed git tar gzip 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 @@ -66,11 +68,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 @@ -79,15 +78,23 @@ 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 -S - dpkg-buildpackage -us -uc -d -b + dpkg-buildpackage -us -uc -sa - - name: Debug artifact files 1 + - name: Debug artifact files run: | ls -l ../ @@ -100,57 +107,81 @@ 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 }}" + DISTRO="${{ matrix.distro }}" + SANITIZED_IMAGE="${{ steps.sanitize.outputs.sanitized_image }}" + + if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then + OLD_EXT=".ddeb" + NEW_EXT=".deb" + + 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=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.deb" \ - -F "changes=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.changes" \ - -F "buildinfo=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}_amd64.buildinfo" \ - -F "dsc=@../robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.dsc" \ - -F "source=@../robotkernel-service-helper_${{ steps.sanitize.outputs.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 ../robotkernel-service-helper*.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: robotkernel-service-helper-${{ steps.sanitize.outputs.sanitized_image }} - path: artifacts/${{ matrix.os }}/${{ matrix.version }}/ - - - name: Debug artifact files - run: | - ls -l ./artifacts/${{ matrix.os }}/${{ matrix.version }}/ + name: ${{ env.PKGNAME }}-artifacts-${{ steps.sanitize.outputs.sanitized_image }} + 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/${{ matrix.os }}/${{ matrix.version }}/robotkernel-service-helper_${{ steps.sanitize.outputs.sanitized_image }}.deb - FILE_NAME: robotkernel_${{ steps.sanitize.outputs.sanitized_image }}.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 "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 168ab9d7a59a2e4c3494b2b06ddf024d06b016f9 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 10:07:51 +0200 Subject: [PATCH 11/14] cleanup: upload --- .github/workflows/build-deb.yaml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index bc14199..d74a2a1 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -112,35 +112,19 @@ jobs: DISTRO="${{ matrix.distro }}" SANITIZED_IMAGE="${{ steps.sanitize.outputs.sanitized_image }}" - if [[ "$DISTRO" == "ubuntu-24.04" || "$DISTRO" == "ubuntu-22.04" ]]; then - OLD_EXT=".ddeb" - NEW_EXT=".deb" - - 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 + for f in "$DEB_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=@$DEB_FILE" \ - -F "deb-dev=@$DEV_FILE" \ - -F "dbgsym=@$DBG_FILE" \ -F "changes=@$CHANGES_FILE" \ -F "buildinfo=@$BUILDINFO_FILE" \ -F "dsc=@$DSC_FILE" \ From 8894d3c6c8fab11a1369fce9b1921ad57a691351 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Fri, 1 Aug 2025 10:12:58 +0200 Subject: [PATCH 12/14] fix: use gzip for control.tar --- debian/rules | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/rules b/debian/rules index d046adf..8c6bdbb 100755 --- a/debian/rules +++ b/debian/rules @@ -17,6 +17,8 @@ export DH_VERBOSE = 1 %: dh $@ +override_dh_builddeb: + dh_builddeb -- -Zgzip # dh_make generated override targets # This is example for Cmake (See https://bugs.debian.org/641051 ) From 49b9dcae3c0aeb4d551e62e2bdb861816165d684 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Tue, 5 Aug 2025 10:20:00 +0200 Subject: [PATCH 13/14] update: github build action --- .github/workflows/build-deb.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-deb.yaml b/.github/workflows/build-deb.yaml index d74a2a1..4b21631 100644 --- a/.github/workflows/build-deb.yaml +++ b/.github/workflows/build-deb.yaml @@ -75,20 +75,23 @@ jobs: shell: bash run: | # baue mit dpkg-buildpackage (ohne signieren) + export DEBEMAIL="robert.burger@dlr.de" + export DEBFULLNAME="Robert Burger" CODENAME=$(lsb_release -sc) - DEBEMAIL="robert.burger@dlr.de" - DEBFULLNAME="Robert Burger" VERSION=$(dpkg-parsechangelog --show-field Version) + PRE_VERSION="pre${GITHUB_RUN_NUMBER}" # 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}" + if [[ ! $GITHUB_REF =~ ^refs/tags/ ]]; then + # Not a tag, so add ~pre + FULL_VERSION="${VERSION}~${PRE_VERSION}-1~${CODENAME}-pre" + dch -b --newversion "${FULL_VERSION}" --distribution "${CODENAME}-pre" "Pre-release for ${CODENAME}-pre" else - dch --local ~${CODENAME} --distribution ${CODENAME} "Build for ${CODENAME}" + FULL_VERSION="${VERSION}-1~${CODENAME}" + dch --newversion "${FULL_VERSION}" --distribution "${CODENAME}" "Pre-release for ${CODENAME}" fi fi From 299f716c82a975830f977bfa06557933699867c6 Mon Sep 17 00:00:00 2001 From: Robert Burger Date: Tue, 5 Aug 2025 10:21:34 +0200 Subject: [PATCH 14/14] change: removed pre from debian changelog --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 902e2f5..1e59dce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -robotkernel-service-helper (6.0.0~pre1) unstable; urgency=low +robotkernel-service-helper (6.0.0) unstable; urgency=low * prepare: deb package release