Skip to content

Commit 63edf4e

Browse files
committed
chore: Group storage runs
Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
1 parent 373c453 commit 63edf4e

6 files changed

Lines changed: 128 additions & 310 deletions

File tree

.github/workflows/files-external.yml

Lines changed: 5 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,28 @@
22
# SPDX-License-Identifier: MIT
33
name: PHPUnit files_external
44
on:
5-
pull_request:
6-
schedule:
7-
- cron: "5 2 * * *"
5+
workflow_call:
86

97
permissions:
108
contents: read
119

12-
concurrency:
13-
group: files-external-${{ github.head_ref || github.run_id }}
14-
cancel-in-progress: true
15-
1610
jobs:
17-
changes:
18-
runs-on: ubuntu-latest-low
19-
20-
outputs:
21-
src: ${{ steps.changes.outputs.src}}
22-
23-
steps:
24-
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
25-
id: changes
26-
continue-on-error: true
27-
with:
28-
filters: |
29-
src:
30-
- '.github/workflows/files-external.yml'
31-
- '3rdparty/**'
32-
- 'vendor/**'
33-
- 'vendor-bin/**'
34-
- 'composer.json'
35-
- 'composer.lock'
36-
- 'apps/files/lib/**'
37-
- 'apps/files/tests/**'
38-
- 'apps/files_external/**'
39-
- 'apps/files_sharing/lib/**'
40-
- 'apps/files_sharing/tests/**'
41-
- 'apps/files_trashbin/lib/**'
42-
- 'apps/files_trashbin/tests/**'
43-
- 'apps/files_versions/lib/**'
44-
- 'apps/files_versions/tests/**'
45-
- 'lib/private/Files/**'
46-
- 'lib/public/Files/**'
47-
- 'tests/lib/Files/**'
48-
4911
files-external:
5012
runs-on: ubuntu-latest
51-
needs: changes
5213

53-
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
14+
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
5415

5516
strategy:
5617
fail-fast: false
5718
matrix:
58-
<<<<<<< HEAD
59-
php-versions: ['8.2', '8.4']
60-
=======
6119
php-versions: ['8.3', '8.5']
6220
backend: ['generic', 'proftpd', 'vsftpd', 'pure-ftpd', 's3-minio', 's3-localstack', 'openssh', 'smb', 'webdav']
63-
>>>>>>> a146662b0b6 (ci(files-external): consolidate workflows to save up to 12minute per PR)
6421

6522
name: php${{ matrix.php-versions }}-${{ matrix.backend }}
6623

6724
steps:
6825
- name: Checkout server
69-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
26+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
7027
with:
7128
persist-credentials: false
7229
submodules: true
@@ -116,7 +73,7 @@ jobs:
11673
esac
11774
11875
- name: Set up php ${{ matrix.php-versions }}
119-
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
76+
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 #v2.37.2
12077
timeout-minutes: 5
12178
with:
12279
php-version: ${{ matrix.php-versions }}
@@ -152,15 +109,6 @@ jobs:
152109
;;
153110
esac
154111
155-
<<<<<<< HEAD
156-
- name: Upload test results
157-
if: ${{ !cancelled() }}
158-
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
159-
with:
160-
flags: phpunit-files-external-generic
161-
162-
files-external-summary:
163-
=======
164112
case "$BACKEND" in
165113
generic)
166114
echo 'TEST_ARGS=' >> $GITHUB_ENV
@@ -231,9 +179,8 @@ jobs:
231179
232180
files-external-smb-kerberos:
233181
runs-on: ubuntu-latest
234-
needs: changes
235182

236-
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
183+
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
237184

238185
name: smb-kerberos-sso
239186

@@ -299,18 +246,3 @@ jobs:
299246
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
300247
echo "$FILEPATH:"
301248
docker exec --user 33 apache cat $FILEPATH
302-
303-
summary:
304-
permissions:
305-
contents: none
306-
>>>>>>> a146662b0b6 (ci(files-external): consolidate workflows to save up to 12minute per PR)
307-
runs-on: ubuntu-latest-low
308-
needs: [changes, files-external, files-external-smb-kerberos]
309-
310-
if: always()
311-
312-
name: files-external-summary
313-
314-
steps:
315-
- name: Summary status
316-
run: if ${{ needs.changes.outputs.src != 'false' && (needs.files-external.result != 'success' || needs.files-external-smb-kerberos.result != 'success') }}; then exit 1; fi

.github/workflows/integration-s3-primary.yml

Lines changed: 6 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,21 @@
22
# SPDX-License-Identifier: MIT
33
name: S3 primary storage integration tests
44
on:
5-
pull_request:
5+
workflow_call:
66

77
permissions:
88
contents: read
99

10-
concurrency:
11-
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
12-
cancel-in-progress: true
13-
1410
jobs:
15-
changes:
16-
runs-on: ubuntu-latest-low
17-
18-
outputs:
19-
src: ${{ steps.changes.outputs.src}}
20-
21-
steps:
22-
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
23-
id: changes
24-
continue-on-error: true
25-
with:
26-
filters: |
27-
src:
28-
- '.github/workflows/**'
29-
- '3rdparty/**'
30-
- 'vendor/**'
31-
- 'vendor-bin/**'
32-
- 'composer.json'
33-
- 'composer.lock'
34-
- 'build/integration/**'
35-
- 'apps/files/lib/**'
36-
- 'apps/files/tests/**'
37-
- 'apps/files_external/**'
38-
- 'apps/files_sharing/lib/**'
39-
- 'apps/files_sharing/tests/**'
40-
- 'apps/files_trashbin/lib/**'
41-
- 'apps/files_trashbin/tests/**'
42-
- 'apps/files_versions/lib/**'
43-
- 'apps/files_versions/tests/**'
44-
- 'lib/private/Files/**'
45-
- 'lib/public/Files/**'
46-
- 'tests/lib/Files/**'
47-
4811
integration-s3-primary:
4912
runs-on: ubuntu-latest
50-
needs: changes
5113

52-
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
14+
if: github.repository_owner != 'nextcloud-gmbh'
5315

5416
strategy:
5517
fail-fast: false
5618
matrix:
57-
php-versions: ['8.2']
19+
php-versions: ['8.3', '8.5']
5820
key: ['objectstore', 'objectstore_multibucket']
5921

6022
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
@@ -76,19 +38,19 @@ jobs:
7638

7739
steps:
7840
- name: Checkout server
79-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
41+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
8042
with:
8143
persist-credentials: false
8244
submodules: true
8345

8446
- name: Set up php ${{ matrix.php-versions }}
85-
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
47+
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 #v2.37.2
8648
timeout-minutes: 5
8749
with:
8850
php-version: ${{ matrix.php-versions }}
8951
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
9052
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
91-
coverage: 'none'
53+
coverage: none
9254
ini-file: development
9355
ini-values: disable_functions=""
9456
env:
@@ -118,16 +80,3 @@ jobs:
11880
cat data/nextcloud.log
11981
docker ps -a
12082
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
121-
122-
123-
s3-primary-integration-summary:
124-
permissions:
125-
contents: none
126-
runs-on: ubuntu-latest-low
127-
needs: [changes, integration-s3-primary]
128-
129-
if: always()
130-
131-
steps:
132-
- name: Summary status
133-
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi

.github/workflows/object-storage-azure.yml

Lines changed: 5 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,21 @@
22
# SPDX-License-Identifier: MIT
33
name: Object storage azure
44
on:
5-
pull_request:
6-
schedule:
7-
- cron: "15 2 * * *"
5+
workflow_call:
86

97
permissions:
108
contents: read
119

12-
concurrency:
13-
group: object-storage-azure-${{ github.head_ref || github.run_id }}
14-
cancel-in-progress: true
15-
1610
jobs:
17-
changes:
18-
runs-on: ubuntu-latest-low
19-
20-
outputs:
21-
src: ${{ steps.changes.outputs.src}}
22-
23-
steps:
24-
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
25-
id: changes
26-
continue-on-error: true
27-
with:
28-
filters: |
29-
src:
30-
- '.github/workflows/**'
31-
- '3rdparty/**'
32-
- 'vendor/**'
33-
- 'vendor-bin/**'
34-
- 'composer.json'
35-
- 'composer.lock'
36-
- 'apps/files/lib/**'
37-
- 'apps/files/tests/**'
38-
- 'apps/files_external/**'
39-
- 'apps/files_sharing/lib/**'
40-
- 'apps/files_sharing/tests/**'
41-
- 'apps/files_trashbin/lib/**'
42-
- 'apps/files_trashbin/tests/**'
43-
- 'apps/files_versions/lib/**'
44-
- 'apps/files_versions/tests/**'
45-
- 'lib/private/Files/**'
46-
- 'lib/public/Files/**'
47-
- 'tests/lib/Files/**'
48-
4911
azure-primary-tests:
5012
runs-on: ubuntu-latest
51-
needs: changes
5213

53-
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
14+
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
5415

5516
strategy:
5617
fail-fast: false
5718
matrix:
58-
php-versions: ['8.2', '8.4']
19+
php-versions: ['8.3', '8.5']
5920

6021
name: php${{ matrix.php-versions }}-azure
6122

@@ -76,13 +37,13 @@ jobs:
7637

7738
steps:
7839
- name: Checkout server
79-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
8041
with:
8142
persist-credentials: false
8243
submodules: true
8344

8445
- name: Set up php ${{ matrix.php-versions }}
85-
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
46+
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 #v2.37.2
8647
timeout-minutes: 5
8748
with:
8849
php-version: ${{ matrix.php-versions }}
@@ -113,24 +74,8 @@ jobs:
11374
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
11475
run: composer run test -- --group PRIMARY-azure --log-junit junit.xml
11576

116-
- name: Upload test results
117-
if: ${{ !cancelled() }}
118-
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
119-
with:
120-
flags: phpunit-azure
121-
12277
- name: Azurite logs
12378
if: always()
12479
run: |
12580
docker ps -a
12681
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
127-
128-
azure-primary-summary:
129-
runs-on: ubuntu-latest-low
130-
needs: [changes, azure-primary-tests]
131-
132-
if: always()
133-
134-
steps:
135-
- name: Summary status
136-
run: if ${{ needs.changes.outputs.src != 'false' && needs.azure-primary-tests.result != 'success' }}; then exit 1; fi

0 commit comments

Comments
 (0)