3232 ssh-agent -a $SSH_AUTH_SOCK > /dev/null
3333 ssh-add - <<< "${SSH_PRIVATE_KEY}"
3434 mkdir -p "${HOME}/.ssh"
35- cat >> "${HOME}/.ssh/known_hosts" <<EOF
36- ${SSH_HOST} ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQtz9VUh6ZindK6DiHQ108KUVI8yQX/PQSUSrMZJ0kWD56yi/mzpZ9Q6hB9E2Gd94CmoDQwnAHQiV6k8461Qv4wGK1ykFwsUG3iOXm/gPOP1Sd1u6GI9SF/ixh/a+WatzzjdC8Y8c0BuuYufV7/Hox6IHvoVsrRWQQwXcK/tpCOzgwgUBzoDxhmS5lFtTfOK6JIOcXbOFmiKWzBVnXCawBKZBEeajkvyTqhLCCu7xbhqXIsBP/UTMeFNsyzIqvJvqHgEm5MPo04PtX1Myvnzv15/cT23PQDGNKANCrMSrUAWtqSFMZdWSehS2R0BbCJ1TJIgsG1Zc+BBDL8vYOesm8TpkXvUdMKWSuptEawYMDORQgjXerTHtsYzvpYNAV4Cm0ajJXngjM926++F1PvlvXs7sLhhOVzVTELgJYwiqFZcIBEdR8jgEkwLQ9Goig0h8lFJpcIket0pmFPTytzrev3gyWnymdZ9ScIo4wEmnwAKNGVMFArZ7O3Ckx/qXAyb8=
37- ${SSH_HOST} ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC/q8hYkss2z4UhT43JRDq+yaUcE3P6VlmfQZWw/49GjwT+VbIuFmej3iLFn1y3YkzPLKYf+BVcXQixZGKNpKrA=
38- ${SSH_HOST} ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJR4dlJQ4NmvJj63YZmxhcUOVkmTITCfCwrCiGRaNe4
39- EOF
35+ ssh-keyscan "${SSH_HOST}" >> "${HOME}/.ssh/known_hosts"
4036 echo "SSH_AUTH_SOCK=${SSH_AUTH_SOCK}" >> "${GITHUB_ENV}"
4137
4238 - name : Check out repository
@@ -58,25 +54,30 @@ jobs:
5854 if [[ "$REF" =~ ^refs/tags/[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
5955 echo "commit_summary=Stable build for 2.5" >> $GITHUB_OUTPUT
6056 echo "channel=stable" >> $GITHUB_OUTPUT
61- elif [[ "$REF" == "refs/heads/2.6" ] ]; then
57+ elif [ "$REF" = "refs/heads/2.6" ]; then
6258 echo "commit_summary=Beta build for 2.6" >> $GITHUB_OUTPUT
6359 echo "channel=beta" >> $GITHUB_OUTPUT
6460 echo "expiry=30 days" >> $GITHUB_OUTPUT
65- elif [[ "$REF" == "refs/heads/main" ] ]; then
61+ elif [ "$REF" = "refs/heads/main" ]; then
6662 echo "commit_summary=Alpha build for 2.7" >> $GITHUB_OUTPUT
6763 echo "channel=alpha" >> $GITHUB_OUTPUT
6864 echo "expiry=14 days" >> $GITHUB_OUTPUT
65+ else
66+ echo "commit_summary=Snapshot build for ${GITHUB_SHA}" >> $GITHUB_OUTPUT
67+ echo "channel=snapshot" >> $GITHUB_OUTPUT
68+ echo "expiry=7 days" >> $GITHUB_OUTPUT
6969 fi
7070
7171 - name : " Download bundles"
7272 env :
7373 GH_TOKEN : ${{ github.token }}
7474 RUN_ID : ${{ inputs.run_id }}
75+ shell : bash
7576 run : |
7677 gh --repo mixxxdj/mixxx run download $RUN_ID --pattern 'Flatpak *' -D bundles
7778 find bundles/ -name *.flatpak -exec mv {} bundles/ \;
7879 find bundles/ -mindepth 1 -type d -delete
79- if [ ! `find bundles/ -name '*x86_64.flatpak | wc -l` -eq 1 ]; then
80+ if [ ! `find bundles/ -name '*x86_64.flatpak' | wc -l` -eq 1 ]; then
8081 echo "At least a x86_64 build is expected. Current bundles:"
8182 find bundles/ -type f
8283 exit 1
@@ -106,17 +107,21 @@ jobs:
106107
107108 flatpak build-import-bundle -v --gpg-sign=$GPG_KEY_ID repo.tmp "$file"
108109 checksum=$(ostree --repo=repo.tmp rev-parse "${type}/${id}/${arch}/master")
110+ ostree --repo=repo.tmp show --raw --print-metadata-key=xa.metadata "${type}/${id}/${arch}/master"
111+ ostree --repo=repo.tmp show --print-metadata-key=xa.metadata "${type}/${id}/${arch}/master"
112+ metadata=`ostree --repo=repo.tmp show --print-metadata-key=xa.metadata "${type}/${id}/${arch}/master"`
109113 ostree --repo=repo pull --depth=-1 --mirror "upstream:${type}/${id}/${arch}/${CHANNEL}" || true
110114 ostree --repo=repo pull-local repo.tmp "${checksum}"
111- ostree --repo=repo commit -b "${type}/${id}/${arch}/${CHANNEL}" -s "$COMMIT_SUMMARY" "--add-metadata-string=version=$VERSION" "--tree=ref=${checksum}"
115+ ostree --repo=repo commit --gpg-sign=$GPG_KEY_ID -b "${type}/${id}/${arch}/${CHANNEL}" -s "$COMMIT_SUMMARY" "--add-metadata-string=version=$VERSION" "--add-metadata-string=xa.metadata=$metadata" "--tree=ref=${checksum}"
116+ ostree --repo=repo show --print-metadata-key=xa.metadata "${type}/${id}/${arch}/${CHANNEL}"
112117 }
113118
114119 # Prepare local repos
115120 ostree --repo=repo.tmp init --mode=archive-z2
116121 ostree --repo=repo init --mode=archive-z2
117122
118123 # Hook publish repo to the remote
119- ostree --repo=repo remote add --no-gpg-verify upstream https://downloads.mixxx.org/flatpak/
124+ ostree --repo=repo remote add upstream https://downloads.mixxx.org/flatpak/
120125
121126 for arch in "x86_64" "aarch64"; do
122127 import_to_repo "bundles/Mixxx-${VERSION}-${arch}.flatpak" org.mixxx.Mixxx ${arch} app
@@ -127,20 +132,13 @@ jobs:
127132 fi
128133 done
129134
130- - name : " Update the repo manifest"
131- if : ${{ inputs.update_repo }}
132- shell : bash
133- run : |
134- cp packaging/flatpak/repo.flatpakrepo repo/repo.flatpakrepo
135-
136135 - name : " Cleanup old builds"
137136 if : ${{ steps.prepare.outputs.expiry != null }}
138137 shell : bash
139138 env :
140139 EXPIRY : ${{ steps.prepare.outputs.expiry }}
141140 run : |
142141 ostree --repo=repo prune --refs-only --keep-younger-than="$EXPIRY ago"
143-
144142 - name : " Push the updated repo"
145143 env :
146144 SSH_HOST : downloads-hostgator.mixxx.org
@@ -151,4 +149,13 @@ jobs:
151149 flatpak build-update-repo repo
152150 ./rsync-repos --src "repo/" --dest "${SSH_USER}@${SSH_HOST}:public_html/downloads/flatpak" --rsync-opts "--verbose --recursive --checksum --times --delay-updates"
153151
152+ - name : " Update the repo manifest"
153+ if : ${{ inputs.update_repo }}
154+ env :
155+ SSH_HOST : downloads-hostgator.mixxx.org
156+ SSH_USER : mixxx
157+ shell : bash
158+ run : |
159+ rsync --verbose "packaging/flatpak/repo.flatpakrepo" "${SSH_USER}@${SSH_HOST}:public_html/downloads/flatpak/repo.flatpakrepo"
160+
154161 # TODO we could also publish a .flatpakref file to allow one-click install a version and publish this as a comment to the PR.
0 commit comments