From 916a2c4ede1989672466abb0042a59a16a303994 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 01:03:17 +0000 Subject: [PATCH 01/17] ci(deps): bump zizmorcore/zizmor-action in /.github/workflows Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.6.0 to 0.6.1. - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](https://github.com/zizmorcore/zizmor-action/compare/6599ee8b7a49aef6a770f63d261d214911a7ce02...6fc4b006235f201fdab3722e17240ab420d580e5) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.6.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/lint-yaml.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint-yaml.yml b/.github/workflows/lint-yaml.yml index 4006b51..5bef544 100644 --- a/.github/workflows/lint-yaml.yml +++ b/.github/workflows/lint-yaml.yml @@ -33,7 +33,7 @@ jobs: line-length: warning - name: Run zizmor 🌈 on actions - uses: zizmorcore/zizmor-action@6599ee8b7a49aef6a770f63d261d214911a7ce02 # v0.6.0 + uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 with: inputs: '.github/workflows/*.yml' advanced-security: false @@ -41,7 +41,7 @@ jobs: min-severity: 'medium' - name: Run zizmor 🌈 on workflow-templates - uses: zizmorcore/zizmor-action@6599ee8b7a49aef6a770f63d261d214911a7ce02 # v0.6.0 + uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 with: inputs: 'workflow-templates/*.yml' advanced-security: false From 92d50b4b4eeb10d4f42297c76723771aa5b9c36e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 8 Aug 2026 01:03:16 +0000 Subject: [PATCH 02/17] ci(deps): bump zizmorcore/zizmor-action in /.github/workflows Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.6.1 to 0.6.2. - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](https://github.com/zizmorcore/zizmor-action/compare/6fc4b006235f201fdab3722e17240ab420d580e5...3dc1ecc9bcb9e94e9b2c709687979e1298497054) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.6.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/lint-yaml.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint-yaml.yml b/.github/workflows/lint-yaml.yml index 5bef544..e3e04d4 100644 --- a/.github/workflows/lint-yaml.yml +++ b/.github/workflows/lint-yaml.yml @@ -33,7 +33,7 @@ jobs: line-length: warning - name: Run zizmor 🌈 on actions - uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 + uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2 with: inputs: '.github/workflows/*.yml' advanced-security: false @@ -41,7 +41,7 @@ jobs: min-severity: 'medium' - name: Run zizmor 🌈 on workflow-templates - uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 + uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2 with: inputs: 'workflow-templates/*.yml' advanced-security: false From d70afb64305ef8f24887b1850510f856e85e3301 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 10 Aug 2026 08:57:36 +0200 Subject: [PATCH 03/17] docs: Address recurring AI review findings in policy and agent snippets Incorporate the code comment conventions from nextcloud/notes#1982 and generalize recurring review feedback on AI-assisted PRs: - Code comments must document the code, never the process that produced it; keep them brief and matching surrounding density - Reuse existing helpers instead of duplicating logic, and fix every occurrence of a flawed pattern - Run permission/access-control checks before the guarded operation - Wire up and test features in every reachable context (public shares, Smart Picker/reference widgets), not only the default authenticated view - Remove malformed/garbled characters from generated output Assisted-by: Claude Code:claude-fable-5 Signed-off-by: Andy Scherzinger --- AGENT_MD_SNIPPETS.md | 10 +++++++++- AI_POLICY.md | 8 ++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/AGENT_MD_SNIPPETS.md b/AGENT_MD_SNIPPETS.md index 73de185..4387eda 100644 --- a/AGENT_MD_SNIPPETS.md +++ b/AGENT_MD_SNIPPETS.md @@ -16,6 +16,14 @@ All contributions generated or assisted by this agent must fully comply with: - Ensure every pull request includes a disclosure of AI tool use in the PR description. - Produce focused, scoped pull requests that address exactly one concern. Do not touch unrelated files or introduce incidental refactors. - Verify all dependencies against actual package registries before suggesting them. Do not use hallucinated or unverified package names. +- Write code comments that document the code, never the process that produced it: + - Comments describe what the code does - method signatures, behavior, and constraints the code itself cannot express (e.g. a non-obvious invariant or workaround). + - Never add comments that document progress, decisions, or changes (e.g. "changed X to Y", "as requested", "this fixes ...", "previously this did ..."). That belongs in the commit message or PR discussion; in the code it goes stale and becomes misleading. + - Do not narrate self-explanatory code. If the code is readable without a comment, omit the comment. + - Keep comments brief - short and simple, matching the comment density of the surrounding code. +- Reuse existing helper functions and utilities instead of re-implementing their logic inline. When fixing a flawed pattern, fix every occurrence of it across the changed code, not only the instance that was pointed out. +- Run permission and access-control checks before the operation they guard, never after it and never only in the UI layer. +- When adding or changing user-facing functionality, wire it up in every context where the affected component is used - the default authenticated view, public share pages, and embedded contexts such as the Smart Picker and reference widgets. When emitting new events, verify that every consumer of the component subscribes to and handles them. - Explicitly inform the contributor when any action they are about to take, or have taken, would violate the AI Contribution Policy or the Contribution Guidelines. Do not silently proceed. State which rule is at risk and what the contributor should do instead. - Warn the contributor if a pull request is growing too large. A PR approaching several thousand lines of changed code is a signal that it should be split into smaller, focused PRs. Suggest a logical split before the PR is opened, not after. - Recommend opening a ticket for discussion before starting implementation whenever a feature or change is sufficiently complex - for example when it touches multiple subsystems, requires architectural decisions, or the right approach is not yet clear. A ticket allows maintainers and the contributor to align on direction before code is written, avoiding wasted effort on a PR that may be rejected or require fundamental rework. @@ -27,4 +35,4 @@ All contributions generated or assisted by this agent must fully comply with: - Generate or submit security reports without independent human verification. Report verified vulnerabilities via [HackerOne](https://hackerone.com/nextcloud), not as GitHub issues. - Write PR descriptions, review comments, or issue reports on behalf of the contributor. These must be in the contributor's own words. - Fully automate the resolution of issues labeled [`good first issue`](https://github.com/issues?q=org%3Anextcloud+label%3A%22good+first+issue%22) or similar beginner-friendly labels. -- Submit code that has not been reviewed and cleaned up by the contributor. Dead code, redundant logic, excessive comments, and unrelated changes must be removed before submission. +- Submit code that has not been reviewed and cleaned up by the contributor. Dead code, redundant logic, excessive comments, malformed or garbled characters (e.g. `οΏ½` replacement characters), and unrelated changes must be removed before submission. diff --git a/AI_POLICY.md b/AI_POLICY.md index 53b4547..7935057 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -66,11 +66,15 @@ The applicable test has three parts: the AI tool's terms must permit open-source ### Code Quality and Cleanup -AI output must be cleaned before submission. Dead code, redundant logic, excessive comments, inconsistent style, unused variables, structural drift, and unrelated file changes must all be removed. Submitting large AI code blobs without meaningful oversight - sometimes called "vibe coding" or "prompt dumping" - is prohibited. +AI output must be cleaned before submission. Dead code, redundant logic, excessive comments, inconsistent style, unused variables, malformed or garbled characters, structural drift, and unrelated file changes must all be removed. Submitting large AI code blobs without meaningful oversight - sometimes called "vibe coding" or "prompt dumping" - is prohibited. + +Code comments must document the code itself - behavior, signatures, and constraints the code cannot express - never the process that produced it. Progress notes, decision records, and change descriptions ("changed X to Y", "as requested", "this fixes ...") belong in the commit message or PR discussion; in code they go stale and become misleading. Comments must stay brief and match the comment density of the surrounding code, and self-explanatory code needs no comment at all. + +Duplicated logic is a further common sign of unreviewed AI output: existing helpers and utilities must be reused instead of re-implemented, and when a flawed pattern is corrected, every occurrence of it must be fixed - not only the one a reviewer happened to point out. Signs of a disallowed submission include: large unreviewed AI blobs; obvious mechanical mistakes a human would fix in minutes; code that has clearly never been executed; and pull requests that shift debugging and cleanup work onto maintainers rather than the contributor. As required by the [Contribution Guidelines](CONTRIBUTING.md), all changed and added code must be unit tested - AI-generated code is not exempt from this requirement. -New features must be tested on a live Nextcloud instance by the contributor before submission. Providing test instructions for an AI agent to execute is not a substitute for human testing. +New features must be tested on a live Nextcloud instance by the contributor before submission, and in every context in which they are reachable - not only the default authenticated view, but also public share links, embedded contexts such as the Smart Picker and reference widgets, and other entry points the app supports. AI-generated changes frequently work in the primary view while silently failing in secondary ones. Providing test instructions for an AI agent to execute is not a substitute for human testing. --- From 74cadeba1fd707e6a7ae193a8659e6834d6dc2c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Aug 2026 01:03:42 +0000 Subject: [PATCH 04/17] build(deps): bump dorny/paths-filter in /workflow-templates Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 4.0.2 to 4.0.3. - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/7b450fff21473bca461d4b92ce414b9d0420d706...ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d) --- updated-dependencies: - dependency-name: dorny/paths-filter dependency-version: 4.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- workflow-templates/lint-eslint.yml | 2 +- workflow-templates/lint-typescript.yml | 2 +- workflow-templates/node-test.yml | 2 +- workflow-templates/npm-build.yml | 2 +- workflow-templates/phpunit-mariadb.yml | 2 +- workflow-templates/phpunit-mysql.yml | 2 +- workflow-templates/phpunit-oci.yml | 2 +- workflow-templates/phpunit-pgsql.yml | 2 +- workflow-templates/phpunit-sqlite.yml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/workflow-templates/lint-eslint.yml b/workflow-templates/lint-eslint.yml index f84f276..5ad2d20 100644 --- a/workflow-templates/lint-eslint.yml +++ b/workflow-templates/lint-eslint.yml @@ -28,7 +28,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/lint-typescript.yml b/workflow-templates/lint-typescript.yml index 5c2e472..0b865e6 100644 --- a/workflow-templates/lint-typescript.yml +++ b/workflow-templates/lint-typescript.yml @@ -34,7 +34,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/node-test.yml b/workflow-templates/node-test.yml index 8a8619e..1b74d3e 100644 --- a/workflow-templates/node-test.yml +++ b/workflow-templates/node-test.yml @@ -34,7 +34,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/npm-build.yml b/workflow-templates/npm-build.yml index 1b9e372..c608572 100644 --- a/workflow-templates/npm-build.yml +++ b/workflow-templates/npm-build.yml @@ -28,7 +28,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/phpunit-mariadb.yml b/workflow-templates/phpunit-mariadb.yml index 89c5ca0..a7556da 100644 --- a/workflow-templates/phpunit-mariadb.yml +++ b/workflow-templates/phpunit-mariadb.yml @@ -43,7 +43,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/phpunit-mysql.yml b/workflow-templates/phpunit-mysql.yml index 40f41ae..231f65c 100644 --- a/workflow-templates/phpunit-mysql.yml +++ b/workflow-templates/phpunit-mysql.yml @@ -44,7 +44,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/phpunit-oci.yml b/workflow-templates/phpunit-oci.yml index 3363620..4a42221 100644 --- a/workflow-templates/phpunit-oci.yml +++ b/workflow-templates/phpunit-oci.yml @@ -43,7 +43,7 @@ jobs: src: ${{ steps.changes.outputs.src }} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/phpunit-pgsql.yml b/workflow-templates/phpunit-pgsql.yml index 6f1ba6c..42d10d9 100644 --- a/workflow-templates/phpunit-pgsql.yml +++ b/workflow-templates/phpunit-pgsql.yml @@ -43,7 +43,7 @@ jobs: src: ${{ steps.changes.outputs.src }} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: diff --git a/workflow-templates/phpunit-sqlite.yml b/workflow-templates/phpunit-sqlite.yml index cb994fc..e6516c9 100644 --- a/workflow-templates/phpunit-sqlite.yml +++ b/workflow-templates/phpunit-sqlite.yml @@ -43,7 +43,7 @@ jobs: src: ${{ steps.changes.outputs.src}} steps: - - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 + - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 id: changes continue-on-error: true with: From 67fbff7f4eaa78e58ec3c186a04ebd6d9dcd4d9d Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 25 Aug 2026 09:53:48 +0200 Subject: [PATCH 05/17] chore(branches): Support stable35 Signed-off-by: Joas Schilling --- workflow-templates/npm-audit-fix.yml | 1 + workflow-templates/sync-workflow-templates.yml | 1 + workflow-templates/update-nextcloud-ocp.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/workflow-templates/npm-audit-fix.yml b/workflow-templates/npm-audit-fix.yml index 928fc93..fd84e64 100644 --- a/workflow-templates/npm-audit-fix.yml +++ b/workflow-templates/npm-audit-fix.yml @@ -26,6 +26,7 @@ jobs: matrix: branches: - ${{ github.event.repository.default_branch }} + - 'stable35' - 'stable34' - 'stable33' - 'stable32' diff --git a/workflow-templates/sync-workflow-templates.yml b/workflow-templates/sync-workflow-templates.yml index 0e925bb..4f52969 100644 --- a/workflow-templates/sync-workflow-templates.yml +++ b/workflow-templates/sync-workflow-templates.yml @@ -26,6 +26,7 @@ jobs: matrix: branches: - ${{ github.event.repository.default_branch }} + - 'stable35' - 'stable34' - 'stable33' - 'stable32' diff --git a/workflow-templates/update-nextcloud-ocp.yml b/workflow-templates/update-nextcloud-ocp.yml index f09ae8f..2d359af 100644 --- a/workflow-templates/update-nextcloud-ocp.yml +++ b/workflow-templates/update-nextcloud-ocp.yml @@ -29,6 +29,7 @@ jobs: matrix: branches: - ${{ github.event.repository.default_branch }} + - 'stable35' - 'stable34' - 'stable33' - 'stable32' From 9ee2c95a0e5e1dc0d7d658ea5cb83e9d94736feb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 01:03:54 +0000 Subject: [PATCH 06/17] build(deps): bump cypress-io/github-action in /workflow-templates Bumps [cypress-io/github-action](https://github.com/cypress-io/github-action) from 7.4.1 to 7.4.3. - [Release notes](https://github.com/cypress-io/github-action/releases) - [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/cypress-io/github-action/compare/fa4a118725a8f001170d49631ea89e5d66fee626...09090944bd8aaa2a517cefb6e38bf1aae336b42b) --- updated-dependencies: - dependency-name: cypress-io/github-action dependency-version: 7.4.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- workflow-templates/cypress.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-templates/cypress.yml b/workflow-templates/cypress.yml index 855011e..e5504c2 100644 --- a/workflow-templates/cypress.yml +++ b/workflow-templates/cypress.yml @@ -118,7 +118,7 @@ jobs: run: npm i -g 'npm@${{ needs.init.outputs.npmVersion }}' - name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests - uses: cypress-io/github-action@fa4a118725a8f001170d49631ea89e5d66fee626 # v7.4.1 + uses: cypress-io/github-action@09090944bd8aaa2a517cefb6e38bf1aae336b42b # v7.4.3 with: record: ${{ secrets.CYPRESS_RECORD_KEY && true }} parallel: ${{ secrets.CYPRESS_RECORD_KEY && true }} From 0d344edd10438d1210d017eea97a352733903931 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 27 Aug 2026 08:52:55 +0200 Subject: [PATCH 07/17] fix(freeze): Don't block merges during first and second RC of major releases Signed-off-by: Joas Schilling --- workflow-templates/block-merge-freeze.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-templates/block-merge-freeze.yml b/workflow-templates/block-merge-freeze.yml index 3a9d5cc..e665256 100644 --- a/workflow-templates/block-merge-freeze.yml +++ b/workflow-templates/block-merge-freeze.yml @@ -54,4 +54,4 @@ jobs: - name: Run check if: ${{ env.server_ref != '' }} - run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC' + run: cat version.php | grep 'OC_VersionString' | grep -i -v -E '(\.0\.0 RC[3-9]|\.[1-9][0-9]* RC)' From 9a91ebec7eeb0f1a6148f76eab2c77e17dc5e355 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sat, 29 Aug 2026 00:40:21 +0200 Subject: [PATCH 08/17] feat: provide `playwright.yml` used by server and e2ee Signed-off-by: Ferdinand Thiessen --- workflow-templates/playwright.properties.json | 10 + workflow-templates/playwright.yml | 190 ++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 workflow-templates/playwright.properties.json create mode 100644 workflow-templates/playwright.yml diff --git a/workflow-templates/playwright.properties.json b/workflow-templates/playwright.properties.json new file mode 100644 index 0000000..94ce8f6 --- /dev/null +++ b/workflow-templates/playwright.properties.json @@ -0,0 +1,10 @@ +{ + "name": "Playwright testing", + "description": "Default playwright workflow. It will setup composer if required, setup node, install dependencies, run playwright and upload artifacts. Feel free to adjust the amount of containers depending on how much tests you have.", + "iconName": "playwright", + "filePatterns": [ + "^playwright.config.js$", + "^playwright.config.mjs$", + "^playwright.config.ts$" + ] +} diff --git a/workflow-templates/playwright.yml b/workflow-templates/playwright.yml new file mode 100644 index 0000000..b934e5c --- /dev/null +++ b/workflow-templates/playwright.yml @@ -0,0 +1,190 @@ +# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: MIT + +# This workflow runs Playwright tests on pull requests to the master and stable branches. +# It expects the following npm scripts to be defined in package.json: +# - "playwright": runs the Playwright tests +# - "playwright:install-ci": installs the Playwright browsers for CI (optional) +# +# If you only use the "Desktop Chrome" browser with "channel: chrome" in your Playwright config, +# you can skip the "playwright:install-ci" script as the GitHub Actions runner already has Chrome Browser installed. +# +# For merging the reports, it expects a Playwright merge config file at tests/playwright/merge.config.ts. +# You can adjust the path in the "Merge into HTML Report" step if you have a different location for the merge config file. +# The default configuration would look like this: +# ```js +# export default { +# testDir: 'tests/playwright/e2e', // path to your Playwright tests +# reporter: [['html', { open: 'never' }]], +# } +# ``` + +name: Playwright Tests + +on: + pull_request: + branches: + - master + - stable35 + - stable34 + - stable33 + +permissions: + contents: read + +jobs: + playwright-setup: + timeout-minutes: 10 + name: Playwright setup + runs-on: ubuntu-latest + needs: gate + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - name: Read package.json + uses: nextcloud-libraries/parse-package-engines-action@122ae05d4257008180a514e1ddeb0c1b9d094bdd # v0.1.0 + id: versions + - name: Set up node + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: ${{ steps.versions.outputs.node-version }} + - name: Set up npm + run: npm i -g 'npm@${{ steps.versions.outputs.package-manager-version }}' + - name: Install dependencies and build + run: | + npm ci + npm run build --if-present + - name: Save context + uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + key: playwright-context-${{ github.run_id }} + path: ./ + + playwright-tests: + needs: [gate, playwright-setup] + timeout-minutes: 30 + name: Playwright tests ${{ matrix.shardIndex }} / ${{ matrix.shardTotal }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + shardIndex: [1, 2] # adjust to your needs + shardTotal: [2] + outputs: + node-version: ${{ steps.versions.outputs.node-version }} + package-manager-version: ${{ steps.versions.outputs.package-manager-version }} + + steps: + - name: Restore context + id: cache + uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + key: playwright-context-${{ github.run_id }} + path: ./ + + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + if: steps.cache.outputs.cache-hit != 'true' + with: + persist-credentials: false + + - name: Read package.json + uses: nextcloud-libraries/parse-package-engines-action@122ae05d4257008180a514e1ddeb0c1b9d094bdd # v0.1.0 + id: versions + + - name: Set up node + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: ${{ steps.versions.outputs.node-version }} + + - name: Set up npm + run: npm i -g 'npm@${{ steps.versions.outputs.package-manager-version }}' + + - name: Install dependencies and build + if: steps.cache.outputs.cache-hit != 'true' + run: | + npm ci + npm run build --if-present + + - name: Install Playwright browsers + run: npm run playwright:install-ci --if-present + + - name: Run Playwright tests + run: npm run playwright -- --shard='${{ matrix.shardIndex }}/${{ matrix.shardTotal }}' + + - name: Upload blob report to GitHub Actions Artifacts + if: ${{ !cancelled() }} + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: blob-report-${{ matrix.shardIndex }} + path: blob-report + retention-days: 1 + + merge-reports: + # Merge reports after playwright-tests, even if some shards have failed + if: ${{ !cancelled() }} + needs: [playwright-tests] + + runs-on: ubuntu-latest-low + steps: + - name: Restore context + id: cache + uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + key: playwright-context-${{ github.run_id }} + path: ./ + + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + if: steps.cache.outputs.cache-hit != 'true' + with: + persist-credentials: false + + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + if: steps.cache.outputs.cache-hit != 'true' + with: + node-version: ${{ needs.playwright-tests.outputs.node-version }} + + - name: Set up npm + if: steps.cache.outputs.cache-hit != 'true' + run: npm i -g 'npm@${{ needs.playwright-tests.outputs.package-manager-version }}' + + - name: Install dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: npm ci + + - name: Download blob reports from GitHub Actions Artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + path: all-blob-reports + pattern: blob-report-* + merge-multiple: true + + - name: Merge into HTML Report + run: npx playwright merge-reports --config tests/playwright/merge.config.ts --reporter html,github ./all-blob-reports + + - name: Upload HTML report + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: html-report--attempt-${{ github.run_attempt }} + path: playwright-report + retention-days: 7 + + - name: How to show the logs + run: | + echo 'To view the report:' + echo ' 1. Extract the folder from the zip file' + echo ' 2. run "npx playwright show-report name-of-my-extracted-playwright-report"' + + summary: + permissions: + contents: none + runs-on: ubuntu-latest-low + needs: [playwright-tests] + + if: always() + + name: playwright-test-summary + + steps: + - name: Summary status + run: if ${{ needs.playwright-tests.result != 'success' }}; then exit 1; fi \ No newline at end of file From 3da069d186b53d569fc3c38f9084bc4bc6595e2e Mon Sep 17 00:00:00 2001 From: Louis Chmn Date: Sat, 29 Aug 2026 21:42:13 +0200 Subject: [PATCH 09/17] fix(workflow): Remove reference to the gate step Signed-off-by: Louis Chmn --- workflow-templates/playwright.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workflow-templates/playwright.yml b/workflow-templates/playwright.yml index b934e5c..02fbb79 100644 --- a/workflow-templates/playwright.yml +++ b/workflow-templates/playwright.yml @@ -37,7 +37,6 @@ jobs: timeout-minutes: 10 name: Playwright setup runs-on: ubuntu-latest - needs: gate steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -62,7 +61,7 @@ jobs: path: ./ playwright-tests: - needs: [gate, playwright-setup] + needs: [playwright-setup] timeout-minutes: 30 name: Playwright tests ${{ matrix.shardIndex }} / ${{ matrix.shardTotal }} runs-on: ubuntu-latest From bd8a9713a4febe8f194bd27225a75295d7c9e838 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sat, 29 Aug 2026 21:57:32 +0200 Subject: [PATCH 10/17] fix(playwright): add concurrency handling Signed-off-by: Ferdinand Thiessen --- workflow-templates/playwright.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workflow-templates/playwright.yml b/workflow-templates/playwright.yml index 02fbb79..3f1ab48 100644 --- a/workflow-templates/playwright.yml +++ b/workflow-templates/playwright.yml @@ -1,3 +1,8 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization +# # SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: MIT @@ -31,6 +36,9 @@ on: permissions: contents: read +concurrency: + group: node-${{ github.head_ref || github.run_id }} + cancel-in-progress: true jobs: playwright-setup: From 39243c116204147c829b292aa622cc9b122ebab7 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 31 Aug 2026 16:56:16 +0200 Subject: [PATCH 11/17] chore(workflows): Migrate nextcloud-version-matrix to new name and newest version Signed-off-by: Joas Schilling --- workflow-templates/appstore-build-publish.yml | 2 +- workflow-templates/lint-php-cs.yml | 2 +- workflow-templates/lint-php.yml | 2 +- workflow-templates/openapi.yml | 2 +- workflow-templates/phpstan.yml | 2 +- workflow-templates/phpunit-mariadb.yml | 2 +- workflow-templates/phpunit-mysql.yml | 2 +- workflow-templates/phpunit-oci.yml | 2 +- workflow-templates/phpunit-pgsql.yml | 2 +- workflow-templates/phpunit-sqlite.yml | 2 +- workflow-templates/psalm-matrix.yml | 2 +- workflow-templates/psalm.yml | 2 +- workflow-templates/rector-apply.yml | 2 +- workflow-templates/update-nextcloud-ocp-matrix.yml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/workflow-templates/appstore-build-publish.yml b/workflow-templates/appstore-build-publish.yml index c0b6cde..93b5a5b 100644 --- a/workflow-templates/appstore-build-publish.yml +++ b/workflow-templates/appstore-build-publish.yml @@ -83,7 +83,7 @@ jobs: - name: Get php version id: php-versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 with: filename: ${{ env.APP_NAME }}/appinfo/info.xml diff --git a/workflow-templates/lint-php-cs.yml b/workflow-templates/lint-php-cs.yml index dba0956..80292fb 100644 --- a/workflow-templates/lint-php-cs.yml +++ b/workflow-templates/lint-php-cs.yml @@ -31,7 +31,7 @@ jobs: - name: Get php version id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php${{ steps.versions.outputs.php-min }} uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/lint-php.yml b/workflow-templates/lint-php.yml index e73949e..7e32f01 100644 --- a/workflow-templates/lint-php.yml +++ b/workflow-templates/lint-php.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 php-lint: runs-on: ubuntu-latest-low diff --git a/workflow-templates/openapi.yml b/workflow-templates/openapi.yml index d6e928e..fb74e08 100644 --- a/workflow-templates/openapi.yml +++ b/workflow-templates/openapi.yml @@ -32,7 +32,7 @@ jobs: - name: Get php version id: php_versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/phpstan.yml b/workflow-templates/phpstan.yml index 339238d..30ad048 100644 --- a/workflow-templates/phpstan.yml +++ b/workflow-templates/phpstan.yml @@ -30,7 +30,7 @@ jobs: - name: Get php version id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min-id }} in phpstan.neon run: "grep 'min: ${{ steps.versions.outputs.php-min-id }}' phpstan.neon" diff --git a/workflow-templates/phpunit-mariadb.yml b/workflow-templates/phpunit-mariadb.yml index a7556da..da1c43d 100644 --- a/workflow-templates/phpunit-mariadb.yml +++ b/workflow-templates/phpunit-mariadb.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-mysql.yml b/workflow-templates/phpunit-mysql.yml index 231f65c..6bc907c 100644 --- a/workflow-templates/phpunit-mysql.yml +++ b/workflow-templates/phpunit-mysql.yml @@ -30,7 +30,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 with: matrix: '{"mysql-versions": ["8.4"]}' diff --git a/workflow-templates/phpunit-oci.yml b/workflow-templates/phpunit-oci.yml index 4a42221..cd348ee 100644 --- a/workflow-templates/phpunit-oci.yml +++ b/workflow-templates/phpunit-oci.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-pgsql.yml b/workflow-templates/phpunit-pgsql.yml index 42d10d9..627d85b 100644 --- a/workflow-templates/phpunit-pgsql.yml +++ b/workflow-templates/phpunit-pgsql.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-sqlite.yml b/workflow-templates/phpunit-sqlite.yml index e6516c9..1a14ed6 100644 --- a/workflow-templates/phpunit-sqlite.yml +++ b/workflow-templates/phpunit-sqlite.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/psalm-matrix.yml b/workflow-templates/psalm-matrix.yml index a2e09e8..3c90b55 100644 --- a/workflow-templates/psalm-matrix.yml +++ b/workflow-templates/psalm-matrix.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - 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 diff --git a/workflow-templates/psalm.yml b/workflow-templates/psalm.yml index eafcfeb..1e30819 100644 --- a/workflow-templates/psalm.yml +++ b/workflow-templates/psalm.yml @@ -30,7 +30,7 @@ jobs: - name: Get php version id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - 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 diff --git a/workflow-templates/rector-apply.yml b/workflow-templates/rector-apply.yml index 58bc681..d395547 100644 --- a/workflow-templates/rector-apply.yml +++ b/workflow-templates/rector-apply.yml @@ -33,7 +33,7 @@ jobs: - name: Get php version id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php${{ steps.versions.outputs.php-min }} uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/update-nextcloud-ocp-matrix.yml b/workflow-templates/update-nextcloud-ocp-matrix.yml index 4972327..ac28d3d 100644 --- a/workflow-templates/update-nextcloud-ocp-matrix.yml +++ b/workflow-templates/update-nextcloud-ocp-matrix.yml @@ -41,7 +41,7 @@ jobs: - name: Get version matrix id: versions - uses: icewind1991/nextcloud-version-matrix@8a7bac6300b2f0f3100088b297995a229558ddba # v1.3.2 + uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php8.3 uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 From fb5f5adee71c8c62b76ec2fb9499261233a5ff6a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 1 Sep 2026 15:21:46 +0200 Subject: [PATCH 12/17] fix: Unify homes of our actions to nextcloud-libraries Signed-off-by: Joas Schilling --- workflow-templates/appstore-build-publish.yml | 4 ++-- workflow-templates/lint-php-cs.yml | 2 +- workflow-templates/lint-php.yml | 2 +- workflow-templates/openapi.yml | 2 +- workflow-templates/phpstan.yml | 2 +- workflow-templates/phpunit-mariadb.yml | 2 +- workflow-templates/phpunit-mysql.yml | 2 +- workflow-templates/phpunit-oci.yml | 2 +- workflow-templates/phpunit-pgsql.yml | 2 +- workflow-templates/phpunit-sqlite.yml | 2 +- workflow-templates/pr-feedback.yml | 2 +- workflow-templates/psalm-matrix.yml | 2 +- workflow-templates/psalm.yml | 2 +- workflow-templates/rector-apply.yml | 2 +- workflow-templates/update-nextcloud-ocp-matrix.yml | 2 +- 15 files changed, 16 insertions(+), 16 deletions(-) diff --git a/workflow-templates/appstore-build-publish.yml b/workflow-templates/appstore-build-publish.yml index 93b5a5b..699f6d6 100644 --- a/workflow-templates/appstore-build-publish.yml +++ b/workflow-templates/appstore-build-publish.yml @@ -83,7 +83,7 @@ jobs: - name: Get php version id: php-versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 with: filename: ${{ env.APP_NAME }}/appinfo/info.xml @@ -194,7 +194,7 @@ jobs: overwrite: true - name: Upload app to Nextcloud appstore - uses: nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1.0.3 + uses: nextcloud-libraries/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1.0.3 with: app_name: ${{ env.APP_NAME }} appstore_token: ${{ secrets.APPSTORE_TOKEN }} diff --git a/workflow-templates/lint-php-cs.yml b/workflow-templates/lint-php-cs.yml index 80292fb..06d0842 100644 --- a/workflow-templates/lint-php-cs.yml +++ b/workflow-templates/lint-php-cs.yml @@ -31,7 +31,7 @@ jobs: - name: Get php version id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php${{ steps.versions.outputs.php-min }} uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/lint-php.yml b/workflow-templates/lint-php.yml index 7e32f01..e4c6e9b 100644 --- a/workflow-templates/lint-php.yml +++ b/workflow-templates/lint-php.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 php-lint: runs-on: ubuntu-latest-low diff --git a/workflow-templates/openapi.yml b/workflow-templates/openapi.yml index fb74e08..7485656 100644 --- a/workflow-templates/openapi.yml +++ b/workflow-templates/openapi.yml @@ -32,7 +32,7 @@ jobs: - name: Get php version id: php_versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/phpstan.yml b/workflow-templates/phpstan.yml index 30ad048..89b8a7c 100644 --- a/workflow-templates/phpstan.yml +++ b/workflow-templates/phpstan.yml @@ -30,7 +30,7 @@ jobs: - name: Get php version id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min-id }} in phpstan.neon run: "grep 'min: ${{ steps.versions.outputs.php-min-id }}' phpstan.neon" diff --git a/workflow-templates/phpunit-mariadb.yml b/workflow-templates/phpunit-mariadb.yml index da1c43d..0182270 100644 --- a/workflow-templates/phpunit-mariadb.yml +++ b/workflow-templates/phpunit-mariadb.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-mysql.yml b/workflow-templates/phpunit-mysql.yml index 6bc907c..38c1bb3 100644 --- a/workflow-templates/phpunit-mysql.yml +++ b/workflow-templates/phpunit-mysql.yml @@ -30,7 +30,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 with: matrix: '{"mysql-versions": ["8.4"]}' diff --git a/workflow-templates/phpunit-oci.yml b/workflow-templates/phpunit-oci.yml index cd348ee..a30ffbe 100644 --- a/workflow-templates/phpunit-oci.yml +++ b/workflow-templates/phpunit-oci.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-pgsql.yml b/workflow-templates/phpunit-pgsql.yml index 627d85b..6029cd7 100644 --- a/workflow-templates/phpunit-pgsql.yml +++ b/workflow-templates/phpunit-pgsql.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/phpunit-sqlite.yml b/workflow-templates/phpunit-sqlite.yml index 1a14ed6..f4c2fb4 100644 --- a/workflow-templates/phpunit-sqlite.yml +++ b/workflow-templates/phpunit-sqlite.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 changes: runs-on: ubuntu-latest-low diff --git a/workflow-templates/pr-feedback.yml b/workflow-templates/pr-feedback.yml index 4420bf6..1bd9c59 100644 --- a/workflow-templates/pr-feedback.yml +++ b/workflow-templates/pr-feedback.yml @@ -36,7 +36,7 @@ jobs: blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -) echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT" - - uses: nextcloud/pr-feedback-action@5227c55be184087d0aef6338bee210d8620b6297 # v1.0.1 + - uses: nextcloud-libraries/pr-feedback-action@5227c55be184087d0aef6338bee210d8620b6297 # v1.0.1 with: feedback-message: | Hello there, diff --git a/workflow-templates/psalm-matrix.yml b/workflow-templates/psalm-matrix.yml index 3c90b55..3fa1abf 100644 --- a/workflow-templates/psalm-matrix.yml +++ b/workflow-templates/psalm-matrix.yml @@ -31,7 +31,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - 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 diff --git a/workflow-templates/psalm.yml b/workflow-templates/psalm.yml index 1e30819..d6e2d52 100644 --- a/workflow-templates/psalm.yml +++ b/workflow-templates/psalm.yml @@ -30,7 +30,7 @@ jobs: - name: Get php version id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - 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 diff --git a/workflow-templates/rector-apply.yml b/workflow-templates/rector-apply.yml index d395547..ed06dec 100644 --- a/workflow-templates/rector-apply.yml +++ b/workflow-templates/rector-apply.yml @@ -33,7 +33,7 @@ jobs: - name: Get php version id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php${{ steps.versions.outputs.php-min }} uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 diff --git a/workflow-templates/update-nextcloud-ocp-matrix.yml b/workflow-templates/update-nextcloud-ocp-matrix.yml index ac28d3d..376fdc5 100644 --- a/workflow-templates/update-nextcloud-ocp-matrix.yml +++ b/workflow-templates/update-nextcloud-ocp-matrix.yml @@ -41,7 +41,7 @@ jobs: - name: Get version matrix id: versions - uses: nextcloud-releases/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - name: Set up php8.3 uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 From b1039dfe700065cd479a84076a158e5a04edf29d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Sun, 6 Sep 2026 12:45:18 +0200 Subject: [PATCH 13/17] fix: Combine changes and matrix jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel MΓΌller --- workflow-templates/phpunit-mariadb.yml | 44 ++++++++++++-------------- workflow-templates/phpunit-mysql.yml | 44 ++++++++++++-------------- workflow-templates/phpunit-oci.yml | 42 ++++++++++++------------ workflow-templates/phpunit-pgsql.yml | 42 ++++++++++++------------ workflow-templates/phpunit-sqlite.yml | 44 ++++++++++++-------------- 5 files changed, 103 insertions(+), 113 deletions(-) diff --git a/workflow-templates/phpunit-mariadb.yml b/workflow-templates/phpunit-mariadb.yml index 0182270..55139b4 100644 --- a/workflow-templates/phpunit-mariadb.yml +++ b/workflow-templates/phpunit-mariadb.yml @@ -18,29 +18,16 @@ concurrency: cancel-in-progress: true jobs: - matrix: - runs-on: ubuntu-latest-low - outputs: - php-version: ${{ steps.versions.outputs.php-available-list }} - server-max: ${{ steps.versions.outputs.branches-max-list }} - steps: - - name: Checkout app - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Get version matrix - id: versions - uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - - changes: + changes-and-matrix: runs-on: ubuntu-latest-low permissions: contents: read pull-requests: read outputs: - src: ${{ steps.changes.outputs.src}} + src: ${{ steps.changes.outputs.src }} + php-version: ${{ steps.versions.outputs.php-available-list }} + server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 @@ -60,17 +47,28 @@ jobs: - 'composer.json' - 'composer.lock' + - name: Checkout app + if: steps.changes.outputs.src != 'false' + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Get version matrix + if: steps.changes.outputs.src != 'false' + id: versions + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + phpunit-mariadb: runs-on: ubuntu-latest - needs: [changes, matrix] - if: needs.changes.outputs.src != 'false' + needs: changes-and-matrix + if: needs.changes-and-matrix.outputs.src != 'false' strategy: fail-fast: false matrix: - php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }} - server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }} + php-versions: ${{ fromJson(needs.changes-and-matrix.outputs.php-version) }} + server-versions: ${{ fromJson(needs.changes-and-matrix.outputs.server-max) }} mariadb-versions: ['10.6', '11.4'] name: MariaDB ${{ matrix.mariadb-versions }} PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} @@ -196,7 +194,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [changes, phpunit-mariadb] + needs: [changes-and-matrix, phpunit-mariadb] if: always() @@ -204,4 +202,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mariadb.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes-and-matrix.outputs.src != 'false' && needs.phpunit-mariadb.result != 'success' }}; then exit 1; fi diff --git a/workflow-templates/phpunit-mysql.yml b/workflow-templates/phpunit-mysql.yml index 38c1bb3..a7d98c9 100644 --- a/workflow-templates/phpunit-mysql.yml +++ b/workflow-templates/phpunit-mysql.yml @@ -18,30 +18,15 @@ concurrency: cancel-in-progress: true jobs: - matrix: - runs-on: ubuntu-latest-low - outputs: - matrix: ${{ steps.versions.outputs.sparse-matrix }} - steps: - - name: Checkout app - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Get version matrix - id: versions - uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - with: - matrix: '{"mysql-versions": ["8.4"]}' - - changes: + changes-and-matrix: runs-on: ubuntu-latest-low permissions: contents: read pull-requests: read outputs: - src: ${{ steps.changes.outputs.src}} + src: ${{ steps.changes.outputs.src }} + matrix: ${{ steps.versions.outputs.sparse-matrix }} steps: - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 @@ -61,15 +46,28 @@ jobs: - 'composer.json' - 'composer.lock' + - name: Checkout app + if: steps.changes.outputs.src != 'false' + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Get version matrix + if: steps.changes.outputs.src != 'false' + id: versions + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + with: + matrix: '{"mysql-versions": ["8.4"]}' + phpunit-mysql: runs-on: ubuntu-latest - needs: [changes, matrix] - if: needs.changes.outputs.src != 'false' + needs: changes-and-matrix + if: needs.changes-and-matrix.outputs.src != 'false' strategy: fail-fast: false - matrix: ${{ fromJson(needs.matrix.outputs.matrix) }} + matrix: ${{ fromJson(needs.changes-and-matrix.outputs.matrix) }} name: MySQL ${{ matrix.mysql-versions }} PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} @@ -194,7 +192,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [changes, phpunit-mysql] + needs: [changes-and-matrix, phpunit-mysql] if: always() @@ -202,4 +200,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes-and-matrix.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi diff --git a/workflow-templates/phpunit-oci.yml b/workflow-templates/phpunit-oci.yml index a30ffbe..f3b17ff 100644 --- a/workflow-templates/phpunit-oci.yml +++ b/workflow-templates/phpunit-oci.yml @@ -18,22 +18,7 @@ concurrency: cancel-in-progress: true jobs: - matrix: - runs-on: ubuntu-latest-low - outputs: - php-version: ${{ steps.versions.outputs.php-available-list }} - server-max: ${{ steps.versions.outputs.branches-max-list }} - steps: - - name: Checkout app - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Get version matrix - id: versions - uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - - changes: + changes-and-matrix: runs-on: ubuntu-latest-low permissions: contents: read @@ -41,6 +26,8 @@ jobs: outputs: src: ${{ steps.changes.outputs.src }} + php-version: ${{ steps.versions.outputs.php-available-list }} + server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 @@ -60,17 +47,28 @@ jobs: - 'composer.json' - 'composer.lock' + - name: Checkout app + if: steps.changes.outputs.src != 'false' + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Get version matrix + if: steps.changes.outputs.src != 'false' + id: versions + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + phpunit-oci: runs-on: ubuntu-latest - needs: [changes, matrix] - if: needs.changes.outputs.src != 'false' + needs: changes-and-matrix + if: needs.changes-and-matrix.outputs.src != 'false' strategy: fail-fast: false matrix: - php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }} - server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }} + php-versions: ${{ fromJson(needs.changes-and-matrix.outputs.php-version) }} + server-versions: ${{ fromJson(needs.changes-and-matrix.outputs.server-max) }} oci-versions: ['18', '21', '23'] name: OCI ${{ matrix.oci-versions }} PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} @@ -201,7 +199,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [changes, phpunit-oci] + needs: [changes-and-matrix, phpunit-oci] if: always() @@ -209,4 +207,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes-and-matrix.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi diff --git a/workflow-templates/phpunit-pgsql.yml b/workflow-templates/phpunit-pgsql.yml index 6029cd7..0d63f7d 100644 --- a/workflow-templates/phpunit-pgsql.yml +++ b/workflow-templates/phpunit-pgsql.yml @@ -18,22 +18,7 @@ concurrency: cancel-in-progress: true jobs: - matrix: - runs-on: ubuntu-latest-low - outputs: - php-version: ${{ steps.versions.outputs.php-available-list }} - server-max: ${{ steps.versions.outputs.branches-max-list }} - steps: - - name: Checkout app - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Get version matrix - id: versions - uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - - changes: + changes-and-matrix: runs-on: ubuntu-latest-low permissions: contents: read @@ -41,6 +26,8 @@ jobs: outputs: src: ${{ steps.changes.outputs.src }} + php-version: ${{ steps.versions.outputs.php-available-list }} + server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 @@ -60,17 +47,28 @@ jobs: - 'composer.json' - 'composer.lock' + - name: Checkout app + if: steps.changes.outputs.src != 'false' + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Get version matrix + if: steps.changes.outputs.src != 'false' + id: versions + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + phpunit-pgsql: runs-on: ubuntu-latest - needs: [changes, matrix] - if: needs.changes.outputs.src != 'false' + needs: changes-and-matrix + if: needs.changes-and-matrix.outputs.src != 'false' strategy: fail-fast: false matrix: - php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }} - server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }} + php-versions: ${{ fromJson(needs.changes-and-matrix.outputs.php-version) }} + server-versions: ${{ fromJson(needs.changes-and-matrix.outputs.server-max) }} name: PostgreSQL PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} @@ -192,7 +190,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [changes, phpunit-pgsql] + needs: [changes-and-matrix, phpunit-pgsql] if: always() @@ -200,4 +198,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes-and-matrix.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi diff --git a/workflow-templates/phpunit-sqlite.yml b/workflow-templates/phpunit-sqlite.yml index f4c2fb4..d6bcf8e 100644 --- a/workflow-templates/phpunit-sqlite.yml +++ b/workflow-templates/phpunit-sqlite.yml @@ -18,29 +18,16 @@ concurrency: cancel-in-progress: true jobs: - matrix: - runs-on: ubuntu-latest-low - outputs: - php-version: ${{ steps.versions.outputs.php-available-list }} - server-max: ${{ steps.versions.outputs.branches-max-list }} - steps: - - name: Checkout app - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Get version matrix - id: versions - uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 - - changes: + changes-and-matrix: runs-on: ubuntu-latest-low permissions: contents: read pull-requests: read outputs: - src: ${{ steps.changes.outputs.src}} + src: ${{ steps.changes.outputs.src }} + php-version: ${{ steps.versions.outputs.php-available-list }} + server-max: ${{ steps.versions.outputs.branches-max-list }} steps: - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3 @@ -60,17 +47,28 @@ jobs: - 'composer.json' - 'composer.lock' + - name: Checkout app + if: steps.changes.outputs.src != 'false' + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Get version matrix + if: steps.changes.outputs.src != 'false' + id: versions + uses: nextcloud-libraries/nextcloud-version-matrix@cd0211ffcef1065e2020cd579e4843b8746e7a58 # v1.3.3 + phpunit-sqlite: runs-on: ubuntu-latest - needs: [changes, matrix] - if: needs.changes.outputs.src != 'false' + needs: changes-and-matrix + if: needs.changes-and-matrix.outputs.src != 'false' strategy: fail-fast: false matrix: - php-versions: ${{ fromJson(needs.matrix.outputs.php-version) }} - server-versions: ${{ fromJson(needs.matrix.outputs.server-max) }} + php-versions: ${{ fromJson(needs.changes-and-matrix.outputs.php-version) }} + server-versions: ${{ fromJson(needs.changes-and-matrix.outputs.server-max) }} name: SQLite PHP ${{ matrix.php-versions }} Nextcloud ${{ matrix.server-versions }} @@ -181,7 +179,7 @@ jobs: permissions: contents: none runs-on: ubuntu-latest-low - needs: [changes, phpunit-sqlite] + needs: [changes-and-matrix, phpunit-sqlite] if: always() @@ -189,4 +187,4 @@ jobs: steps: - name: Summary status - run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi + run: if ${{ needs.changes-and-matrix.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi From 531a83865e2370c99518914158aea06c4f62c65a Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 8 Sep 2026 23:22:14 +0200 Subject: [PATCH 14/17] fix(playwright): use proper group id for concurrency group Signed-off-by: Ferdinand Thiessen --- workflow-templates/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-templates/playwright.yml b/workflow-templates/playwright.yml index 3f1ab48..b8cbb23 100644 --- a/workflow-templates/playwright.yml +++ b/workflow-templates/playwright.yml @@ -37,7 +37,7 @@ on: permissions: contents: read concurrency: - group: node-${{ github.head_ref || github.run_id }} + group: playwright-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: From 93a77282e8bc60824909316ca71e4c115f21d078 Mon Sep 17 00:00:00 2001 From: Tobias Kaminsky Date: Thu, 10 Sep 2026 15:02:27 +0200 Subject: [PATCH 15/17] Adding (N/A) to checklist so that tasklist-completed check ignores it This is an option checkbox, so it should not block our merge, like here: Signed-off-by: Tobias Kaminsky --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 19ce2c9..c9b57e6 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,4 +2,4 @@ ## πŸ€– AI (if applicable) -- [ ] The content of this PR was partly or fully generated using AI +- [ ] The content of this PR was partly or fully generated using AI (N/A) From d9a307938cf93e029b10ba5886266de51c48c3b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Sep 2026 01:03:25 +0000 Subject: [PATCH 16/17] ci(deps): bump zizmorcore/zizmor-action in /.github/workflows Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.6.2 to 0.6.3. - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](https://github.com/zizmorcore/zizmor-action/compare/3dc1ecc9bcb9e94e9b2c709687979e1298497054...70fb788f84895a7701f5643d103d587e460b5c99) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.6.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/lint-yaml.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint-yaml.yml b/.github/workflows/lint-yaml.yml index e3e04d4..633d90f 100644 --- a/.github/workflows/lint-yaml.yml +++ b/.github/workflows/lint-yaml.yml @@ -33,7 +33,7 @@ jobs: line-length: warning - name: Run zizmor 🌈 on actions - uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2 + uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3 with: inputs: '.github/workflows/*.yml' advanced-security: false @@ -41,7 +41,7 @@ jobs: min-severity: 'medium' - name: Run zizmor 🌈 on workflow-templates - uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2 + uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3 with: inputs: 'workflow-templates/*.yml' advanced-security: false From e137952600ed786d2dfd1bf928fadf92d295483c Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sun, 13 Sep 2026 16:39:55 +0200 Subject: [PATCH 17/17] chore: stable32 is community eol Signed-off-by: Ferdinand Thiessen --- workflow-templates/npm-audit-fix.yml | 1 - workflow-templates/sync-workflow-templates.yml | 1 - workflow-templates/update-nextcloud-ocp.yml | 1 - 3 files changed, 3 deletions(-) diff --git a/workflow-templates/npm-audit-fix.yml b/workflow-templates/npm-audit-fix.yml index fd84e64..b382c55 100644 --- a/workflow-templates/npm-audit-fix.yml +++ b/workflow-templates/npm-audit-fix.yml @@ -29,7 +29,6 @@ jobs: - 'stable35' - 'stable34' - 'stable33' - - 'stable32' name: npm-audit-fix-${{ matrix.branches }} diff --git a/workflow-templates/sync-workflow-templates.yml b/workflow-templates/sync-workflow-templates.yml index 4f52969..40d39e1 100644 --- a/workflow-templates/sync-workflow-templates.yml +++ b/workflow-templates/sync-workflow-templates.yml @@ -29,7 +29,6 @@ jobs: - 'stable35' - 'stable34' - 'stable33' - - 'stable32' name: Update workflows in ${{ matrix.branches }} diff --git a/workflow-templates/update-nextcloud-ocp.yml b/workflow-templates/update-nextcloud-ocp.yml index 2d359af..3b60a2e 100644 --- a/workflow-templates/update-nextcloud-ocp.yml +++ b/workflow-templates/update-nextcloud-ocp.yml @@ -32,7 +32,6 @@ jobs: - 'stable35' - 'stable34' - 'stable33' - - 'stable32' name: update-nextcloud-ocp-${{ matrix.branches }}