Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d767fa5
build(deps): bump actions/checkout in /workflow-templates
dependabot[bot] Jun 24, 2026
49a875a
Merge pull request #747 from nextcloud/dependabot/github_actions/work…
nickvergessen Jun 24, 2026
9967981
ci(deps): bump actions/checkout in /.github/workflows
dependabot[bot] Jun 27, 2026
184e7b5
Merge pull request #748 from nextcloud/dependabot/github_actions/dot-…
nickvergessen Jun 27, 2026
0841f67
fix(phpunit): Don't cancel PHPUnit runs
nickvergessen Jun 29, 2026
1e5d64b
Merge pull request #749 from nextcloud/ci/noid/dont-cancel-phpunit-runs
skjnldsv Jun 29, 2026
78230c8
build(deps): bump actions/cache/save in /workflow-templates
dependabot[bot] Jun 30, 2026
30275a7
build(deps): bump actions/cache/restore in /workflow-templates
dependabot[bot] Jun 30, 2026
b78cec8
build(deps): bump actions/cache in /workflow-templates
dependabot[bot] Jun 30, 2026
c6f50b5
Merge pull request #752 from nextcloud/dependabot/github_actions/work…
nickvergessen Jun 30, 2026
b56e2f7
Merge pull request #751 from nextcloud/dependabot/github_actions/work…
nickvergessen Jun 30, 2026
2a74d30
Merge pull request #750 from nextcloud/dependabot/github_actions/work…
nickvergessen Jun 30, 2026
98f64f6
fix: Use bot token instead of PR author
AndyScherzinger Jun 30, 2026
426142f
Merge pull request #753 from nextcloud/fix/noid/action-token-fix
nickvergessen Jun 30, 2026
1f488c5
feat: Only checkout appinfo/ for xml lint
kesselb Jun 30, 2026
8d479b4
Merge pull request #754 from nextcloud/only-checkout-appinfo-for-xml-…
nickvergessen Jun 30, 2026
8c92e54
ci: Add lables via rest api
AndyScherzinger Jul 3, 2026
ccc4f93
Merge pull request #756 from nextcloud/ci/noid/fixAiPolicy
AndyScherzinger Jul 3, 2026
0e7bfb9
ci: Fall back to github.token when COMMAND_BOT_PAT is unavailable
AndyScherzinger Jul 6, 2026
f26ada0
Merge pull request #759 from nextcloud/ci/noid/tokenFallback
nickvergessen Jul 6, 2026
ccc81ec
build(deps): bump cypress-io/github-action in /workflow-templates
dependabot[bot] Jul 6, 2026
358e490
Merge pull request #758 from nextcloud/dependabot/github_actions/work…
nickvergessen Jul 6, 2026
5bf64fe
ci(deps): bump zizmorcore/zizmor-action in /.github/workflows
dependabot[bot] Jul 6, 2026
0bbc6c8
fix(pr-feedback): Update to latest tag and fix name
nickvergessen Jul 6, 2026
221b545
Merge pull request #757 from nextcloud/dependabot/github_actions/dot-…
AndyScherzinger Jul 6, 2026
15e9934
fix: Update user list
nickvergessen Jul 7, 2026
c465aeb
Update social media links in README
coliff Jul 7, 2026
bfc3467
Merge pull request #760 from nextcloud/coliff-patch-1
nickvergessen Jul 7, 2026
1db6742
ci: Add release relay action
AndyScherzinger Jul 7, 2026
36868b6
Merge pull request #761 from nextcloud/ci/noid/release-relay
AndyScherzinger Jul 7, 2026
df58428
feat: Use ramsey/composer-install to use caching of composer dependen…
DerDreschner Jul 8, 2026
2f197f0
Merge pull request #762 from nextcloud/feat/add-caching-for-npm-and-c…
nickvergessen Jul 8, 2026
fa76c97
docs(workflows): Document workflow sync and patching
nickvergessen Jul 8, 2026
b8c9416
docs: Fix note block
nickvergessen Jul 8, 2026
0446b96
Merge pull request #763 from nextcloud/docs/noid/document-workflow-sy…
nickvergessen Jul 8, 2026
20b2af5
docs(workflows): Improve docs a little bit
nickvergessen Jul 8, 2026
f250d24
chore: Remove trailing whitespaces
nickvergessen Jul 8, 2026
7174e84
Merge pull request #764 from nextcloud/bugfix/noid/fix-coding-style
nickvergessen Jul 8, 2026
6a18eb5
fix: add odzhychko
ChristophWurst Jul 10, 2026
dcd29fc
chore: merge updated from Nextcloud organization
nextcloud-command Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions .github/workflows/ai-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ jobs:
- name: Collect PR commit messages
id: collect
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
COMMITS_URL: ${{ github.event.pull_request.commits_url }}
run: |
set -euo pipefail
Expand Down Expand Up @@ -125,7 +127,9 @@ jobs:
- name: Create 'AI assisted' label if absent
if: steps.ai_trailers.outputs.ai_assisted == 'true' || steps.agent_signoff.outputs.agent_signoff == 'true' || steps.co_authored.outputs.co_authored == 'true'
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
run: |
gh api "repos/${{ github.repository }}/labels" \
--method POST \
Expand All @@ -137,11 +141,13 @@ jobs:
- name: Label PR as AI assisted
if: steps.ai_trailers.outputs.ai_assisted == 'true' || steps.agent_signoff.outputs.agent_signoff == 'true' || steps.co_authored.outputs.co_authored == 'true'
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
run: |
gh pr edit "${{ github.event.pull_request.number }}" \
--repo "${{ github.repository }}" \
--add-label "AI assisted"
gh api "repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels" \
--method POST \
-f "labels[]=AI assisted"
echo "Added 'AI assisted' label to PR #${{ github.event.pull_request.number }}"

- name: Fail on coding-agent Signed-off-by
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dispatch-workflow-repo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
if [ -f "$workflow" ]; then
filename=$(basename "$workflow")
target_file="./target/.github/workflows/$filename"

# Only copy if the file exists in the target repository
if [ -f "$target_file" ]; then
echo "Updating existing workflow: $filename"
Expand Down
18 changes: 12 additions & 6 deletions workflow-templates/ai-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ jobs:
- name: Collect PR commit messages
id: collect
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
COMMITS_URL: ${{ github.event.pull_request.commits_url }}
run: |
set -euo pipefail
Expand Down Expand Up @@ -125,7 +127,9 @@ jobs:
- name: Create 'AI assisted' label if absent
if: steps.ai_trailers.outputs.ai_assisted == 'true' || steps.agent_signoff.outputs.agent_signoff == 'true' || steps.co_authored.outputs.co_authored == 'true'
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
run: |
gh api "repos/${{ github.repository }}/labels" \
--method POST \
Expand All @@ -137,11 +141,13 @@ jobs:
- name: Label PR as AI assisted
if: steps.ai_trailers.outputs.ai_assisted == 'true' || steps.agent_signoff.outputs.agent_signoff == 'true' || steps.co_authored.outputs.co_authored == 'true'
env:
GH_TOKEN: ${{ github.token }}
# Fall back to the default token when the PAT is unavailable
# (e.g. Dependabot- or fork-triggered runs don't receive Actions secrets)
GH_TOKEN: ${{ secrets.COMMAND_BOT_PAT || github.token }}
run: |
gh pr edit "${{ github.event.pull_request.number }}" \
--repo "${{ github.repository }}" \
--add-label "AI assisted"
gh api "repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels" \
--method POST \
-f "labels[]=AI assisted"
echo "Added 'AI assisted' label to PR #${{ github.event.pull_request.number }}"

- name: Fail on coding-agent Signed-off-by
Expand Down
4 changes: 3 additions & 1 deletion workflow-templates/cypress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ jobs:

- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0
with:
composer-options: '--no-dev'

- name: Set up node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
Expand Down
8 changes: 5 additions & 3 deletions workflow-templates/phpstan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install dependencies
- name: Remove nextcloud/ocp
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i

- name: Install nextcloud/ocp
- name: Install composer dependencies
uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0

- name: Install nextcloud/ocp:dev-${{ steps.versions.outputs.branches-max }}
run: composer require --dev nextcloud/ocp:dev-${{ steps.versions.outputs.branches-max }} --ignore-platform-reqs --with-dependencies

- name: Run coding standards check
Expand Down
6 changes: 4 additions & 2 deletions workflow-templates/rector-apply.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,12 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install dependencies
- name: Remove nextcloud/ocp
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i

- name: Install composer dependencies
uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0

- name: Rector
run: composer run rector
Expand Down
5 changes: 5 additions & 0 deletions workflow-templates/release-relay.properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "Release Relay",
"description": "Dispatches the repository information and tag of a release to a relay for further release processing",
"iconName": "octicon robot"
}
38 changes: 38 additions & 0 deletions workflow-templates/release-relay.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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

name: Notify release-relay on release

on:
release:
types: [published]

permissions:
contents: read

jobs:
notify:
name: Dispatch release to release-relay
runs-on: ubuntu-latest

# Only allowed to run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'nextcloud-releases' }}

steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with:
require: write

- name: Dispatch to release-relay
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
with:
token: ${{ secrets.DISPATCH_PAT }}
repository: nextcloud-gmbh/release-relay
event-type: app-tagged
client-payload: '{"app": "${{ github.repository }}", "tag": "${{ github.event.release.tag_name }}"}'
Loading