From 1f91b153baf1c0246d34c3492b7ccf0c410b0a05 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Wed, 8 Oct 2025 00:51:21 +0300 Subject: [PATCH] Debian PPA: switch to aptly --- .github/workflows/deb-publish.yml | 67 ++++++++++++++----------------- 1 file changed, 31 insertions(+), 36 deletions(-) diff --git a/.github/workflows/deb-publish.yml b/.github/workflows/deb-publish.yml index e77b44f5..1c8e7c05 100644 --- a/.github/workflows/deb-publish.yml +++ b/.github/workflows/deb-publish.yml @@ -108,13 +108,13 @@ jobs: apt install eatmydata eatmydata apt full-upgrade eatmydata apt install \ + aptly \ devscripts \ gettext-base \ git \ gnupg \ openssh-client \ pandoc \ - reprepro \ sshfs \ tar \ xz-utils \ @@ -231,10 +231,11 @@ jobs: echo '::endgroup::' \ " - name: Create and populate repos - timeout-minutes: 60 + timeout-minutes: 10 shell: sudo podman exec --interactive --tty container eatmydata sh "{0}" run: | set -xe + SNAPSHOT_DATE=`date -u +%Y%m%d%H%M%S` MOUNTPOINT="${{ github.workspace }}/remotefs" mkdir -p "$MOUNTPOINT" if [ -n "${{ secrets.SSH_HOST }}" ]; then @@ -249,50 +250,44 @@ jobs: gpg-connect-agent 'keyattr ${{ secrets.GPG_AUTH_SUBKEY_KEYGRIP }} Use-for-ssh: true' /bye sshfs ${{ secrets.SSH_HOST }}/uploads "$MOUNTPOINT" fi - REPO_ROOT="$MOUNTPOINT/public_html" - mkdir -p "$REPO_ROOT" + rm -f ~/.aptly.conf + APTLY_ROOT="$MOUNTPOINT/aptly" + PUBLIC_ROOT="$APTLY_ROOT/public" + tee -a ~/.aptly.conf < /dev/null < /dev/null < /dev/null </dev/null || \ + aptly repo create -distribution=$REPO_SUITE -component=main $REPO_NAME + aptly repo include -repo=$REPO_NAME \ + "${{ github.workspace }}/incoming/src-artifacts" \ + "${{ github.workspace }}/incoming/bin-artifacts/$DIST" \ + ; + aptly snapshot create $SNAPSHOT_NAME from repo $REPO_NAME + aptly publish show $REPO_SUITE $DIST &>/dev/null || \ + aptly publish snapshot -acquire-by-hash -origin="apt.bcachefs.org" -label="apt.bcachefs.org Packages" $SNAPSHOT_NAME $DIST + aptly publish switch $REPO_SUITE $DIST $SNAPSHOT_NAME echo '::endgroup::' done umount "$MOUNTPOINT" || /bin/true