@@ -20,21 +20,21 @@ jobs:
2020
2121 steps :
2222 - uses : dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
23- id : changes
24- continue-on-error : true
25- with :
26- filters : |
27- src:
28- - '.github/workflows/**'
29- - '3rdparty/**'
30- - '**/*.php'
31- - '**/lib/**'
32- - '**/tests/**'
33- - '**/vendor-bin/**'
34- - 'build/integration/**'
35- - '.php-cs-fixer.dist.php'
36- - 'composer.json'
37- - 'composer.lock'
23+ id : changes
24+ continue-on-error : true
25+ with :
26+ filters : |
27+ src:
28+ - '.github/workflows/**'
29+ - '3rdparty/**'
30+ - '**/*.php'
31+ - '**/lib/**'
32+ - '**/tests/**'
33+ - '**/vendor-bin/**'
34+ - 'build/integration/**'
35+ - '.php-cs-fixer.dist.php'
36+ - 'composer.json'
37+ - 'composer.lock'
3838
3939 integration-caldav :
4040 runs-on : ubuntu-latest
@@ -45,76 +45,76 @@ jobs:
4545 strategy :
4646 fail-fast : false
4747 matrix :
48- php-versions : ['8.2']
49- endpoint : ['old', 'new']
50- service : ['CalDAV', 'CardDAV']
48+ php-versions : ['8.2']
49+ endpoint : ['old', 'new']
50+ service : ['CalDAV', 'CardDAV']
5151
5252 name : ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
5353
5454 steps :
55- - name : Checkout server
56- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
57- with :
58- persist-credentials : false
59- submodules : true
60-
61- - name : Set up php ${{ matrix.php-versions }}
62- uses : shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
63- timeout-minutes : 5
64- with :
65- php-version : ${{ matrix.php-versions }}
66- # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
67- 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
68- coverage : ' none'
69- ini-file : development
70- env :
71- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72-
73- - name : Set up Python
74- uses : LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
75- with :
76- python-version : ' 2.7'
77-
78- - name : Set up CalDAVTester
79- run : |
80- git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
81- git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
82-
83- - name : Set up Nextcloud
84- run : |
85- mkdir data
86- ./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
87- # disable the trashbin, so recurrent deletion of the same object works
88- ./occ config:app:set dav calendarRetentionObligation --value=0
89- # Prepare users
90- OC_PASS=user01 ./occ user:add --password-from-env user01
91- OC_PASS=user02 ./occ user:add --password-from-env user02
92- # Prepare calendars
93- ./occ dav:create-calendar user01 calendar
94- ./occ dav:create-calendar user01 shared
95- ./occ dav:create-calendar user02 calendar
96- # Prepare address books
97- ./occ dav:create-addressbook user01 addressbook
98- ./occ dav:create-addressbook user02 addressbook
99-
100- - name : Run Nextcloud
101- run : |
102- php -S localhost:8888 &
103-
104- - name : Run CalDAVTester
105- run : |
106- cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
107- pushd CalDAVTester
108- PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
109- "${{ matrix.service }}/current-user-principal.xml" \
110- "${{ matrix.service }}/sync-report.xml" \
111- ${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
112- popd
113-
114- - name : Print Nextcloud logs
115- if : always()
116- run : |
117- cat data/nextcloud.log
55+ - name : Checkout server
56+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
57+ with :
58+ persist-credentials : false
59+ submodules : true
60+
61+ - name : Set up php ${{ matrix.php-versions }}
62+ uses : shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
63+ timeout-minutes : 5
64+ with :
65+ php-version : ${{ matrix.php-versions }}
66+ # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
67+ 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
68+ coverage : ' none'
69+ ini-file : development
70+ env :
71+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72+
73+ - name : Set up Python
74+ uses : LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
75+ with :
76+ python-version : ' 2.7'
77+
78+ - name : Set up CalDAVTester
79+ run : |
80+ git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
81+ git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
82+
83+ - name : Set up Nextcloud
84+ run : |
85+ mkdir data
86+ ./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
87+ # disable the trashbin, so recurrent deletion of the same object works
88+ ./occ config:app:set dav calendarRetentionObligation --value=0
89+ # Prepare users
90+ OC_PASS=user01 ./occ user:add --password-from-env user01
91+ OC_PASS=user02 ./occ user:add --password-from-env user02
92+ # Prepare calendars
93+ ./occ dav:create-calendar user01 calendar
94+ ./occ dav:create-calendar user01 shared
95+ ./occ dav:create-calendar user02 calendar
96+ # Prepare address books
97+ ./occ dav:create-addressbook user01 addressbook
98+ ./occ dav:create-addressbook user02 addressbook
99+
100+ - name : Run Nextcloud
101+ run : |
102+ php -S localhost:8888 &
103+
104+ - name : Run CalDAVTester
105+ run : |
106+ cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
107+ pushd CalDAVTester
108+ PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
109+ "${{ matrix.service }}/current-user-principal.xml" \
110+ "${{ matrix.service }}/sync-report.xml" \
111+ ${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
112+ popd
113+
114+ - name : Print Nextcloud logs
115+ if : always()
116+ run : |
117+ cat data/nextcloud.log
118118
119119 caldav-integration-summary :
120120 permissions :
@@ -126,4 +126,4 @@ jobs:
126126
127127 steps :
128128 - name : Summary status
129- run : if ${{ needs.changes.outputs.src != 'false' && needs.integration-caldav.result != 'success' }}; then exit 1; fi
129+ run : if ${{ needs.changes.outputs.src != 'false' && needs.integration-caldav.result != 'success' }}; then exit 1; fi
0 commit comments