From 2f552d15e5b272ac2a0a572fd0b414f7ca47a6b0 Mon Sep 17 00:00:00 2001 From: Austin Date: Sun, 5 Jan 2025 15:14:47 -0500 Subject: [PATCH] meshtasticd-debian: Cleanup debian versioning (#5758) --- .github/workflows/build_debian_src.yml | 19 +++++++++---------- .github/workflows/package_ppa.yml | 21 +++------------------ bin/readprops.py | 7 ++++--- debian/ci_pack_sdeb.sh | 5 ++--- 4 files changed, 18 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build_debian_src.yml b/.github/workflows/build_debian_src.yml index 1424774b0..9bb7dfb9c 100644 --- a/.github/workflows/build_debian_src.yml +++ b/.github/workflows/build_debian_src.yml @@ -43,25 +43,24 @@ jobs: gpg_private_key: ${{ secrets.PPA_GPG_PRIVATE_KEY }} id: gpg + - name: Get release version string + working-directory: meshtasticd + run: | + echo "deb=$(./bin/buildinfo.py deb)" >> $GITHUB_OUTPUT + id: version + - name: Fetch libdeps, package debian source working-directory: meshtasticd run: debian/ci_pack_sdeb.sh env: SERIES: ${{ inputs.series }} GPG_KEY_ID: ${{ steps.gpg.outputs.keyid }} - REVISION: ${{ github.sha }} - - - name: Get release version string - working-directory: meshtasticd - run: | - echo "long=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT - echo "short=$(./bin/buildinfo.py short)" >> $GITHUB_OUTPUT - id: version + PKG_VERSION: ${{ steps.version.outputs.deb }} - name: Store binaries as an artifact uses: actions/upload-artifact@v4 with: - name: firmware-debian-${{ steps.version.outputs.long }}-${{ inputs.series }}-src + name: firmware-debian-${{ steps.version.outputs.deb }}~${{ inputs.series }}-src overwrite: true path: | - meshtasticd_${{ steps.version.outputs.short }}* + meshtasticd_${{ steps.version.outputs.deb }}* diff --git a/.github/workflows/package_ppa.yml b/.github/workflows/package_ppa.yml index d630e8092..f716fdff4 100644 --- a/.github/workflows/package_ppa.yml +++ b/.github/workflows/package_ppa.yml @@ -50,14 +50,13 @@ jobs: - name: Get release version string working-directory: meshtasticd run: | - echo "long=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT - echo "short=$(./bin/buildinfo.py short)" >> $GITHUB_OUTPUT + echo "deb=$(./bin/buildinfo.py deb)" >> $GITHUB_OUTPUT id: version - name: Download artifacts uses: actions/download-artifact@v4 with: - name: firmware-debian-${{ steps.version.outputs.long }}-${{ inputs.series }}-src + name: firmware-debian-${{ steps.version.outputs.deb }}~${{ inputs.series }}-src merge-multiple: true - name: Display structure of downloaded files @@ -66,18 +65,4 @@ jobs: - name: Publish with dput if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} run: | - dput ppa:meshtastic/meshtastic-daily meshtasticd_${{ steps.version.outputs.short }}_source.changes - - # - name: Publish PPA - # if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }} - # uses: yuezk/publish-ppa-package@v2 - # with: - # # See https://launchpad.net/~meshtastic/+archive/ubuntu/meshtastic-daily - # repository: "meshtastic/meshtastic-daily" - # gpg_private_key: ${{ secrets.PPA_GPG_PRIVATE_KEY }} - # gpg_passphrase: "" - # tarball: "meshtasticd_${{ steps.version.outputs.short }}.tar.xz" - # deb_email: "github-actions[bot]@users.noreply.github.com" - # deb_fullname: "github-actions[bot]" - # # Supported Ubuntu versions - # series: "plucky oracular noble jammy" + dput ppa:meshtastic/meshtastic-daily meshtasticd_${{ steps.version.outputs.deb }}~${{ inputs.series }}_source.changes diff --git a/bin/readprops.py b/bin/readprops.py index 4b730658a..68516b74c 100644 --- a/bin/readprops.py +++ b/bin/readprops.py @@ -10,6 +10,7 @@ def readProps(prefsLoc): version = dict(config.items("VERSION")) verObj = dict( short="{}.{}.{}".format(version["major"], version["minor"], version["build"]), + deb="unset", long="unset", ) @@ -27,13 +28,13 @@ def readProps(prefsLoc): # if isDirty: # # short for 'dirty', we want to keep our verstrings source for protobuf reasons # suffix = sha + "-d" - verObj["long"] = "{}.{}.{}.{}".format( - version["major"], version["minor"], version["build"], suffix - ) + verObj["long"] = "{}.{}".format(verObj["short"], suffix) + verObj["deb"] = "{}-ppa{}".format(verObj["short"], sha) except: # print("Unexpected error:", sys.exc_info()[0]) # traceback.print_exc() verObj["long"] = verObj["short"] + verObj["deb"] = "{}-ppa".format(verObj["short"]) # print("firmware version " + verStr) return verObj diff --git a/debian/ci_pack_sdeb.sh b/debian/ci_pack_sdeb.sh index 23490f1bd..b8c40decb 100755 --- a/debian/ci_pack_sdeb.sh +++ b/debian/ci_pack_sdeb.sh @@ -7,11 +7,10 @@ export PLATFORMIO_PACKAGES_DIR=pio/packages platformio pkg install -e native package=$(dpkg-parsechangelog --show-field Source) -pkg_version=$(dpkg-parsechangelog --show-field Version | cut -d- -f1) rm -rf debian/changelog -dch --create --distribution $SERIES --package $package --newversion $pkg_version-ppa${REVISION::7}~$SERIES \ - "GitHub Actions Automatic packaging for $SERIES" +dch --create --distribution $SERIES --package $package --newversion $PKG_VERSION~$SERIES \ + "GitHub Actions Automatic packaging for $PKG_VERSION~$SERIES" # Build the source deb debuild -S -k$GPG_KEY_ID