Skip to content

Commit ba470e2

Browse files
committed
fix: sync appstore-build-publish workflow to current template
Release 3.2.3 failed to publish because the old template hardcoded PHP_VERSION: 8.1, and the Sign app step runs nextcloud/occ from the app's min-version (33), which requires PHP 8.2+. All the NC integration siblings (notion, onedrive, reddit, discourse, nuiteq, giphy) already moved to the newer template that derives php-min from appinfo/info.xml via icewind1991/nextcloud-version-matrix; this pulls the same workflow in so the PHP version tracks the declared minimum automatically and will not drift the next time the minimum changes. Bump version to 3.2.4 so the fixed workflow ships in a new tag. Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
1 parent b283f12 commit ba470e2

3 files changed

Lines changed: 35 additions & 23 deletions

File tree

.github/workflows/appstore-build-publish.yml

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
#
33
# https://github.com/nextcloud/.github
44
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
5+
#
6+
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
7+
# SPDX-License-Identifier: MIT
58

69
name: Build and publish app release
710

811
on:
912
release:
1013
types: [published]
1114

12-
env:
13-
PHP_VERSION: 8.1
14-
1515
jobs:
1616
build_and_publish:
1717
runs-on: ubuntu-latest
@@ -21,7 +21,7 @@ jobs:
2121

2222
steps:
2323
- name: Check actor permission
24-
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2.1
24+
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
2525
with:
2626
require: write
2727

@@ -32,50 +32,56 @@ jobs:
3232
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
3333
3434
- name: Checkout
35-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
35+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3636
with:
3737
path: ${{ env.APP_NAME }}
3838

3939
- name: Get appinfo data
4040
id: appinfo
41-
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
41+
uses: skjnldsv/xpath-action@d813024a13948950fd8d23b580254feeb4883d3c # master
4242
with:
4343
filename: ${{ env.APP_NAME }}/appinfo/info.xml
4444
expression: "//info//dependencies//nextcloud/@min-version"
4545

4646
- name: Read package.json node and npm engines version
47-
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
47+
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
4848
id: versions
4949
# Continue if no package.json
5050
continue-on-error: true
5151
with:
5252
path: ${{ env.APP_NAME }}
53-
fallbackNode: "^16"
54-
fallbackNpm: "^7"
53+
fallbackNode: '^20'
54+
fallbackNpm: '^10'
5555

5656
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
5757
# Skip if no package.json
5858
if: ${{ steps.versions.outputs.nodeVersion }}
59-
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
59+
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v3
6060
with:
6161
node-version: ${{ steps.versions.outputs.nodeVersion }}
6262

6363
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
6464
# Skip if no package.json
6565
if: ${{ steps.versions.outputs.npmVersion }}
66-
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
66+
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
67+
68+
- name: Get php version
69+
id: php-versions
70+
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
71+
with:
72+
filename: ${{ env.APP_NAME }}/appinfo/info.xml
6773

68-
- name: Set up php ${{ env.PHP_VERSION }}
69-
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
74+
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
75+
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
7076
with:
71-
php-version: ${{ env.PHP_VERSION }}
77+
php-version: ${{ steps.php-versions.outputs.php-min }}
7278
coverage: none
7379
env:
7480
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7581

7682
- name: Check composer.json
7783
id: check_composer
78-
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
84+
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
7985
with:
8086
files: "${{ env.APP_NAME }}/composer.json"
8187

@@ -91,11 +97,11 @@ jobs:
9197
run: |
9298
cd ${{ env.APP_NAME }}
9399
npm ci
94-
npm run build
100+
npm run build --if-present
95101
96102
- name: Check Krankerl config
97103
id: krankerl
98-
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
104+
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
99105
with:
100106
files: ${{ env.APP_NAME }}/krankerl.toml
101107

@@ -121,12 +127,12 @@ jobs:
121127
continue-on-error: true
122128
id: server-checkout
123129
run: |
124-
NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
130+
NCVERSION='${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}'
125131
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
126132
unzip latest-$NCVERSION.zip
127133
128134
- name: Checkout server master fallback
129-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
135+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
130136
if: ${{ steps.server-checkout.outcome != 'success' }}
131137
with:
132138
submodules: true
@@ -140,7 +146,7 @@ jobs:
140146
tar -xvf ${{ env.APP_NAME }}.tar.gz
141147
cd ../../../
142148
# Setting up keys
143-
echo "${{ secrets.APP_PRIVATE_KEY }}" > ${{ env.APP_NAME }}.key
149+
echo '${{ secrets.APP_PRIVATE_KEY }}' > ${{ env.APP_NAME }}.key
144150
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
145151
# Signing
146152
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 }}
@@ -149,7 +155,7 @@ jobs:
149155
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
150156
151157
- name: Attach tarball to github release
152-
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2
158+
uses: svenstaro/upload-release-action@b98a3b12e86552593f3e4e577ca8a62aa2f3f22b # v2
153159
id: attach_to_release
154160
with:
155161
repo_token: ${{ secrets.GITHUB_TOKEN }}
@@ -164,4 +170,4 @@ jobs:
164170
app_name: ${{ env.APP_NAME }}
165171
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
166172
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
167-
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
173+
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ All notable changes to this project will be documented in this file.
88
The format is based on [Keep a Changelog](http://keepachangelog.com/)
99
and this project adheres to [Semantic Versioning](http://semver.org/).
1010

11+
## 3.2.4 - 2026-04-24
12+
13+
### Fixed
14+
15+
- Sync the appstore-build-publish workflow to the current Nextcloud template so the signing step runs on a PHP version that matches the app's minimum (the hardcoded PHP 8.1 was blocking 3.2.3 from publishing on Nextcloud 33+).
16+
1117
## 3.2.3 - 2026-04-21
1218

1319
### Added

appinfo/info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<description><![CDATA[GitHub integration provides a dashboard widget displaying your most important notifications
1111
and a unified search provider for repositories, issues and pull requests. It also provides a link reference provider
1212
to render links to issues, pull requests and comments in Talk and Text.]]></description>
13-
<version>3.2.3</version>
13+
<version>3.2.4</version>
1414
<licence>agpl</licence>
1515
<author>Julien Veyssier</author>
1616
<namespace>Github</namespace>

0 commit comments

Comments
 (0)