[stable30] chore: update workflows from templates (#6921)

* chore: update workflows from templates

Signed-off-by: grnd-alt <github@belakkaf.net>

* chore: set minimum phpVersion for psalm

Signed-off-by: grnd-alt <github@belakkaf.net>

---------

Signed-off-by: grnd-alt <github@belakkaf.net>
Co-authored-by: grnd-alt <github@belakkaf.net>
This commit is contained in:
backportbot[bot]
2025-04-23 13:47:43 +02:00
committed by GitHub
parent 7318c3291d
commit 0764bd9724
12 changed files with 74 additions and 14 deletions

View File

@@ -12,6 +12,9 @@ on:
release: release:
types: [published] types: [published]
permissions:
contents: write
jobs: jobs:
build_and_publish: build_and_publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -34,11 +37,23 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
path: ${{ env.APP_NAME }} path: ${{ env.APP_NAME }}
- name: Get app version number
id: app-version
uses: skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # master
with:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
expression: "//info//version/text()"
- name: Validate app version against tag
run: |
[ "${{ env.APP_VERSION }}" = "v${{ fromJSON(steps.app-version.outputs.result).version }}" ]
- name: Get appinfo data - name: Get appinfo data
id: appinfo id: appinfo
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master uses: skjnldsv/xpath-action@f5b036e9d973f42c86324833fd00be90665fbf77 # master
with: with:
filename: ${{ env.APP_NAME }}/appinfo/info.xml filename: ${{ env.APP_NAME }}/appinfo/info.xml
expression: "//info//dependencies//nextcloud/@min-version" expression: "//info//dependencies//nextcloud/@min-version"
@@ -137,6 +152,7 @@ jobs:
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: ${{ steps.server-checkout.outcome != 'success' }} if: ${{ steps.server-checkout.outcome != 'success' }}
with: with:
persist-credentials: false
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
path: nextcloud path: nextcloud

View File

@@ -9,7 +9,7 @@
name: Dependabot name: Dependabot
on: on:
pull_request_target: pull_request_target: # zizmor: ignore[dangerous-triggers]
branches: branches:
- main - main
- master - master
@@ -24,7 +24,7 @@ concurrency:
jobs: jobs:
auto-approve-merge: auto-approve-merge:
if: github.actor == 'dependabot[bot]' || github.actor == 'renovate[bot]' if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]'
runs-on: ubuntu-latest-low runs-on: ubuntu-latest-low
permissions: permissions:
# for hmarr/auto-approve-action to approve PRs # for hmarr/auto-approve-action to approve PRs

View File

@@ -34,7 +34,7 @@ jobs:
- name: Set up php${{ steps.versions.outputs.php-available }} - name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with: with:
php-version: ${{ steps.versions.outputs.php-available }} php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
@@ -42,7 +42,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies - name: Install dependencies
run: composer i run: |
composer remove nextcloud/ocp --dev
composer i
- name: Lint - name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )

View File

@@ -81,6 +81,7 @@ jobs:
steps: steps:
- name: Set app env - name: Set app env
if: ${{ env.APP_NAME == '' }}
run: | run: |
# Split and keep last # Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
@@ -88,6 +89,7 @@ jobs:
- name: Checkout server - name: Checkout server
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
@@ -95,6 +97,7 @@ jobs:
- name: Checkout app - name: Checkout app
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
@@ -105,6 +108,8 @@ jobs:
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: none coverage: none
ini-file: development ini-file: development
# Temporary workaround for missing pcntl_* in PHP 8.3
ini-values: disable_functions=
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -123,7 +128,9 @@ jobs:
# Only run if phpunit config file exists # Only run if phpunit config file exists
if: steps.check_composer.outputs.files_exists == 'true' if: steps.check_composer.outputs.files_exists == 'true'
working-directory: apps/${{ env.APP_NAME }} working-directory: apps/${{ env.APP_NAME }}
run: composer i run: |
composer remove nextcloud/ocp --dev
composer i
- name: Set up Nextcloud - name: Set up Nextcloud
env: env:

View File

@@ -84,6 +84,7 @@ jobs:
steps: steps:
- name: Set app env - name: Set app env
if: ${{ env.APP_NAME == '' }}
run: | run: |
# Split and keep last # Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
@@ -91,6 +92,7 @@ jobs:
- name: Checkout server - name: Checkout server
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
@@ -98,6 +100,7 @@ jobs:
- name: Checkout app - name: Checkout app
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
@@ -108,6 +111,8 @@ jobs:
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: none coverage: none
ini-file: development ini-file: development
# Temporary workaround for missing pcntl_* in PHP 8.3
ini-values: disable_functions=
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -121,7 +126,9 @@ jobs:
# Only run if phpunit config file exists # Only run if phpunit config file exists
if: steps.check_composer.outputs.files_exists == 'true' if: steps.check_composer.outputs.files_exists == 'true'
working-directory: apps/${{ env.APP_NAME }} working-directory: apps/${{ env.APP_NAME }}
run: composer i run: |
composer remove nextcloud/ocp --dev
composer i
- name: Set up Nextcloud - name: Set up Nextcloud
env: env:

View File

@@ -73,6 +73,7 @@ jobs:
steps: steps:
- name: Set app env - name: Set app env
if: ${{ env.APP_NAME == '' }}
run: | run: |
# Split and keep last # Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
@@ -80,6 +81,7 @@ jobs:
- name: Checkout server - name: Checkout server
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
submodules: true submodules: true
repository: nextcloud/server repository: nextcloud/server
ref: ${{ matrix.server-versions }} ref: ${{ matrix.server-versions }}
@@ -87,6 +89,7 @@ jobs:
- name: Checkout app - name: Checkout app
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
path: apps/${{ env.APP_NAME }} path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
@@ -97,6 +100,8 @@ jobs:
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
# Temporary workaround for missing pcntl_* in PHP 8.3
ini-values: disable_functions=
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -110,7 +115,9 @@ jobs:
# Only run if phpunit config file exists # Only run if phpunit config file exists
if: steps.check_composer.outputs.files_exists == 'true' if: steps.check_composer.outputs.files_exists == 'true'
working-directory: apps/${{ env.APP_NAME }} working-directory: apps/${{ env.APP_NAME }}
run: composer i run: |
composer remove nextcloud/ocp --dev
composer i
- name: Set up Nextcloud - name: Set up Nextcloud
env: env:

View File

@@ -31,7 +31,7 @@ jobs:
blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -) blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -)
echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT" echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT"
- uses: marcelklehr/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 - uses: nextcloud/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4 # main
with: with:
feedback-message: | feedback-message: |
Hello there, Hello there,

View File

@@ -14,6 +14,9 @@ concurrency:
group: psalm-${{ github.head_ref || github.run_id }} group: psalm-${{ github.head_ref || github.run_id }}
cancel-in-progress: true cancel-in-progress: true
permissions:
contents: read
jobs: jobs:
static-analysis: static-analysis:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -27,18 +30,28 @@ jobs:
id: versions id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml
run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml
- name: Set up php${{ steps.versions.outputs.php-available }} - name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1 uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with: with:
php-version: ${{ steps.versions.outputs.php-available }} php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none coverage: none
ini-file: development ini-file: development
# Temporary workaround for missing pcntl_* in PHP 8.3
ini-values: disable_functions=
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies - name: Install dependencies
run: composer i run: |
composer remove nextcloud/ocp --dev
composer i
- name: Install nextcloud/ocp
run: composer require --dev nextcloud/ocp:dev-${{ steps.versions.outputs.branches-max }} --ignore-platform-reqs --with-dependencies
- name: Run coding standards check - name: Run coding standards check
run: composer run psalm run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github

View File

@@ -11,6 +11,9 @@ name: REUSE Compliance Check
on: [pull_request] on: [pull_request]
permissions:
contents: read
jobs: jobs:
reuse-compliance-check: reuse-compliance-check:
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@@ -9,7 +9,7 @@
name: Auto approve nextcloud/ocp name: Auto approve nextcloud/ocp
on: on:
pull_request_target: pull_request_target: # zizmor: ignore[dangerous-triggers]
branches: branches:
- main - main
- master - master
@@ -52,7 +52,7 @@ jobs:
# Enable GitHub auto merge # Enable GitHub auto merge
- name: Auto merge - name: Auto merge
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # main uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp') if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
with: with:
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -13,6 +13,9 @@ on:
schedule: schedule:
- cron: "5 2 * * 0" - cron: "5 2 * * 0"
permissions:
contents: read
jobs: jobs:
update-nextcloud-ocp: update-nextcloud-ocp:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -28,6 +31,7 @@ jobs:
- id: checkout - id: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with: with:
persist-credentials: false
ref: ${{ matrix.branches }} ref: ${{ matrix.branches }}
submodules: true submodules: true
continue-on-error: true continue-on-error: true

View File

@@ -6,6 +6,7 @@
xmlns="https://getpsalm.org/schema/config" xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config"
errorBaseline="tests/psalm-baseline.xml" errorBaseline="tests/psalm-baseline.xml"
phpVersion="8.1"
> >
<stubs> <stubs>
<file name="tests/stub.phpstub" preloadClasses="true"/> <file name="tests/stub.phpstub" preloadClasses="true"/>