1717
1818permissions :
1919 contents : write
20+ actions : write
2021
2122jobs :
2223 check-latest-stable :
8182 filename : ${{ env.APP_NAME }}/appinfo/info.xml
8283 expression : " //info//version/text()"
8384
85+ - name : Set APP_VERSION env
86+ run : |
87+ echo "APP_VERSION=${{ fromJSON(steps.app-version.outputs.result).version }}" >> "$GITHUB_ENV"
88+
8489 - name : Get appinfo data
8590 id : appinfo
8691 uses : skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # v1.0.0
@@ -121,11 +126,6 @@ jobs:
121126 env :
122127 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
123128
124- - name : Package ${{ env.APP_NAME }} with makefile
125- run : |
126- make -C "${{ env.APP_NAME }}" appstore
127- make -C "${{ env.APP_NAME }}" verify-appstore-package
128-
129129 - name : Check server download link for ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
130130 id : server-url
131131 run : |
@@ -150,27 +150,18 @@ jobs:
150150 repository : nextcloud/server
151151 path : nextcloud
152152
153- - name : Sign app
153+ - name : Package ${{ env.APP_NAME }} nightly with makefile
154154 run : |
155- KEY_PATH="${GITHUB_WORKSPACE}/${{ env.APP_NAME }}.key"
156- CERT_PATH="${GITHUB_WORKSPACE}/${{ env.APP_NAME }}.crt"
157- APP_PATH="${GITHUB_WORKSPACE}/${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}"
158-
159- printf '%s' '${{ secrets.APP_PRIVATE_KEY }}' > "${KEY_PATH}"
160- chmod 600 "${KEY_PATH}"
161- wget --quiet -O "${CERT_PATH}" "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
162-
163- php nextcloud/occ integrity:sign-app \
164- --privateKey="${KEY_PATH}" \
165- --certificate="${CERT_PATH}" \
166- --path="${APP_PATH}"
167-
168- tar -C "${{ env.APP_NAME }}/build/artifacts" -zcf "${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz" "${{ env.APP_NAME }}"
155+ cd "${{ env.APP_NAME }}"
156+ mkdir -p build/tools/certificates/
157+ printf '%s' '${{ secrets.APP_PRIVATE_KEY }}' > "build/tools/certificates/${{ env.APP_NAME }}.key"
158+ chmod 600 "build/tools/certificates/${{ env.APP_NAME }}.key"
159+ make appstore verify-appstore-package
169160
170161 - name : Define nightly metadata
171162 id : version
172163 run : |
173- echo "version=${{ fromJSON(steps.app-version.outputs.result).version } }" >> "$GITHUB_OUTPUT"
164+ echo "version=${APP_VERSION }" >> "$GITHUB_OUTPUT"
174165 echo 'tag=nightly' >> "$GITHUB_OUTPUT"
175166 echo "branch=${GITHUB_REF#refs/heads/}" >> "$GITHUB_OUTPUT"
176167
@@ -228,11 +219,25 @@ jobs:
228219 --prerelease
229220 fi
230221
231- - name : Upload nightly tarball
222+ - name : Attach tarball to GitHub release
223+ uses : svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # v2.11.5
224+ id : attach_to_release
225+ with :
226+ repo_token : ${{ secrets.GITHUB_TOKEN }}
227+ file : ${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz
228+ asset_name : ${{ env.APP_NAME }}-${{ steps.version.outputs.tag }}.tar.gz
229+ tag : ${{ steps.version.outputs.tag }}
230+ overwrite : true
231+
232+ - name : Upload app to Nextcloud appstore (nightly)
232233 env :
233- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
234- run : |
235- gh release upload nightly \
236- '${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz' \
237- --repo '${{ github.repository }}' \
238- --clobber
234+ APPSTORE_TOKEN : ${{ secrets.APPSTORE_TOKEN }}
235+ APP_PRIVATE_KEY : ${{ secrets.APP_PRIVATE_KEY }}
236+ if : env.APPSTORE_TOKEN != '' && env.APP_PRIVATE_KEY != ''
237+ uses : nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1.0.3
238+ with :
239+ app_name : ${{ env.APP_NAME }}
240+ appstore_token : ${{ env.APPSTORE_TOKEN }}
241+ download_url : ${{ steps.attach_to_release.outputs.browser_download_url }}
242+ app_private_key : ${{ env.APP_PRIVATE_KEY }}
243+ nightly : true
0 commit comments