@@ -35,14 +35,14 @@ jobs:
3535 echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
3636
3737 - name : Checkout
38- uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
38+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3939 with :
4040 persist-credentials : false
4141 path : ${{ env.APP_NAME }}
4242
4343 - name : Get app version number
4444 id : app-version
45- uses : skjnldsv/xpath-action@d813024a13948950fd8d23b580254feeb4883d3c # master
45+ uses : skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # v1.0.0
4646 with :
4747 filename : ${{ env.APP_NAME }}/appinfo/info.xml
4848 expression : " //info//version/text()"
5353
5454 - name : Get appinfo data
5555 id : appinfo
56- uses : skjnldsv/xpath-action@d813024a13948950fd8d23b580254feeb4883d3c # master
56+ uses : skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # v1.0.0
5757 with :
5858 filename : ${{ env.APP_NAME }}/appinfo/info.xml
5959 expression : " //info//dependencies//nextcloud/@min-version"
7171 - name : Set up node ${{ steps.versions.outputs.nodeVersion }}
7272 # Skip if no package.json
7373 if : ${{ steps.versions.outputs.nodeVersion }}
74- uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4 .0
74+ uses : actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3 .0
7575 with :
7676 node-version : ${{ steps.versions.outputs.nodeVersion }}
7777
@@ -82,12 +82,12 @@ jobs:
8282
8383 - name : Get php version
8484 id : php-versions
85- uses : icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
85+ uses : icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2
8686 with :
8787 filename : ${{ env.APP_NAME }}/appinfo/info.xml
8888
8989 - name : Set up php ${{ steps.php-versions.outputs.php-min }}
90- uses : shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
90+ uses : shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
9191 with :
9292 php-version : ${{ steps.php-versions.outputs.php-min }}
9393 coverage : none
9696
9797 - name : Check composer.json
9898 id : check_composer
99- uses : andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0 .0
99+ uses : andstor/file-existence-action@558493d6c74bf472d87c84eab196434afc2fa029 # v3.1 .0
100100 with :
101101 files : " ${{ env.APP_NAME }}/composer.json"
102102
@@ -118,7 +118,7 @@ jobs:
118118
119119 - name : Check Krankerl config
120120 id : krankerl
121- uses : andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0 .0
121+ uses : andstor/file-existence-action@558493d6c74bf472d87c84eab196434afc2fa029 # v3.1 .0
122122 with :
123123 files : ${{ env.APP_NAME }}/krankerl.toml
124124
@@ -140,31 +140,39 @@ jobs:
140140 cd ${{ env.APP_NAME }}
141141 make appstore
142142
143- - name : Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
144- continue-on-error : true
145- id : server-checkout
143+ - name : Check server download link for ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
146144 run : |
147145 NCVERSION='${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}'
148- wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
149- unzip latest-$NCVERSION.zip
146+ DOWNLOAD_URL=$(curl -s "https://updates.nextcloud.com/updater_server/latest?channel=beta&version=$NCVERSION" | jq -r '.downloads.zip[0]')
147+ echo "DOWNLOAD_URL=$DOWNLOAD_URL" >> $GITHUB_ENV
148+
149+ - name : Download server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
150+ continue-on-error : true
151+ id : server-download
152+ if : ${{ env.DOWNLOAD_URL != 'null' }}
153+ run : |
154+ echo "Downloading release tarball from $DOWNLOAD_URL"
155+ wget $DOWNLOAD_URL -O nextcloud.zip
156+ unzip nextcloud.zip
150157
151158 - name : Checkout server master fallback
152- uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
153- if : ${{ steps.server-checkout .outcome != 'success' }}
159+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
160+ if : ${{ steps.server-download .outcome != 'success' }}
154161 with :
155162 persist-credentials : false
156163 submodules : true
157164 repository : nextcloud/server
158165 path : nextcloud
159166
167+
160168 - name : Sign app
161169 run : |
162170 # Extracting release
163171 cd ${{ env.APP_NAME }}/build/artifacts
164172 tar -xvf ${{ env.APP_NAME }}.tar.gz
165173 cd ../../../
166174 # Setting up keys
167- echo '${{ secrets.APP_PRIVATE_KEY }}' > ${{ env.APP_NAME }}.key
175+ echo '${{ secrets.APP_PRIVATE_KEY }}' > ${{ env.APP_NAME }}.key # zizmor: ignore[secrets-outside-env]
168176 wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
169177 # Signing
170178 php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
@@ -173,7 +181,7 @@ jobs:
173181 tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
174182
175183 - name : Attach tarball to github release
176- uses : svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 # v2
184+ uses : svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # v2.11.5
177185 id : attach_to_release
178186 with :
179187 repo_token : ${{ secrets.GITHUB_TOKEN }}
@@ -183,9 +191,9 @@ jobs:
183191 overwrite : true
184192
185193 - name : Upload app to Nextcloud appstore
186- uses : nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1
194+ uses : nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1.0.3
187195 with :
188196 app_name : ${{ env.APP_NAME }}
189- appstore_token : ${{ secrets.APPSTORE_TOKEN }}
197+ appstore_token : ${{ secrets.APPSTORE_TOKEN }} # zizmor: ignore[secrets-outside-env]
190198 download_url : ${{ steps.attach_to_release.outputs.browser_download_url }}
191- app_private_key : ${{ secrets.APP_PRIVATE_KEY }}
199+ app_private_key : ${{ secrets.APP_PRIVATE_KEY }} # zizmor: ignore[secrets-outside-env]
0 commit comments