Compare commits

..

643 Commits

Author SHA1 Message Date
Roeland Jago Douma f637a1a228 Merge pull request #6557 from nextcloud/stable11-bump
[stable11] Bump version to 11.0.5
2017-09-19 07:56:47 +02:00
Nextcloud bot 46d29688d1 [tx-robot] updated from transifex 2017-09-19 00:08:50 +00:00
Lukas Reschke 45d0eb8dda [stable11] Bump version to 11.0.5
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-18 18:25:41 +02:00
Nextcloud bot 2c73912de5 [tx-robot] updated from transifex 2017-09-18 00:08:50 +00:00
Nextcloud bot 377dd14999 [tx-robot] updated from transifex 2017-09-17 00:08:43 +00:00
Nextcloud bot 3c0f7e1364 [tx-robot] updated from transifex 2017-09-16 00:08:44 +00:00
Nextcloud bot 6af8ee3a73 [tx-robot] updated from transifex 2017-09-15 00:08:27 +00:00
Nextcloud bot 3c7d430a46 [tx-robot] updated from transifex 2017-09-14 00:08:30 +00:00
Nextcloud bot 2e626f3186 [tx-robot] updated from transifex 2017-09-13 00:08:30 +00:00
Morris Jobke 5cb9790669 Merge pull request #6467 from nextcloud/11-0-5-rc1
11.0.5 RC1
2017-09-12 16:11:20 +02:00
Lukas Reschke 5f06e19d80 11.0.5 RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-12 14:47:32 +02:00
Morris Jobke 3e56503e47 Merge pull request #6445 from nextcloud/backport-6351-sql-syntax-on-caldav-11
[stable11] not to backquote LIMIT on CalDavBackend.php
2017-09-12 12:33:09 +02:00
Nextcloud bot 2fb01619e4 [tx-robot] updated from transifex 2017-09-12 00:08:43 +00:00
nhirokinet 73b0e76a8c not to backquote LIMIT on CalDavBackend.php 2017-09-11 11:24:11 +02:00
Nextcloud bot fa26c3cce3 [tx-robot] updated from transifex 2017-09-11 00:08:38 +00:00
Nextcloud bot 1aed97e771 [tx-robot] updated from transifex 2017-09-10 00:08:42 +00:00
Nextcloud bot f5a60bf2cb [tx-robot] updated from transifex 2017-09-09 00:08:39 +00:00
Morris Jobke 7bdedbaad9 Merge pull request #6422 from nextcloud/11-6419
[stable11] Use tmpfs for mysql CI containers
2017-09-08 16:59:23 +02:00
Morris Jobke de0d5a23ab Use tmpfs for mysql CI containers
Should improve performance

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-08 15:58:34 +02:00
Nextcloud bot fe5c1134e6 [tx-robot] updated from transifex 2017-09-08 00:08:35 +00:00
Nextcloud bot 2c6a8fdbb7 [tx-robot] updated from transifex 2017-09-07 00:08:41 +00:00
Nextcloud bot 90fef79ac2 [tx-robot] updated from transifex 2017-09-06 00:08:40 +00:00
Nextcloud bot 6e854bbd01 [tx-robot] updated from transifex 2017-09-05 00:08:41 +00:00
Nextcloud bot 1a897e32ee [tx-robot] updated from transifex 2017-09-03 00:08:33 +00:00
Nextcloud bot 663b5c1efc [tx-robot] updated from transifex 2017-09-02 00:08:48 +00:00
Nextcloud bot 207f4d168a [tx-robot] updated from transifex 2017-09-01 00:08:45 +00:00
Nextcloud bot 772e0ec42d [tx-robot] updated from transifex 2017-08-31 00:08:50 +00:00
Nextcloud bot 04d40ca0a4 [tx-robot] updated from transifex 2017-08-30 00:08:46 +00:00
Nextcloud bot b1825dec22 [tx-robot] updated from transifex 2017-08-29 00:08:46 +00:00
Nextcloud bot 20b49db0d2 [tx-robot] updated from transifex 2017-08-28 00:08:42 +00:00
Nextcloud bot bc2986b7f3 [tx-robot] updated from transifex 2017-08-26 00:08:45 +00:00
Nextcloud bot dfb1b1f302 [tx-robot] updated from transifex 2017-08-25 00:09:17 +00:00
Morris Jobke 709b34e78f Merge pull request #6232 from nextcloud/stable11_6218
[stable11] [3rdparty] Fix sabre/xml empty prop parsing
2017-08-24 02:56:00 +02:00
Nextcloud bot 15c70fc888 [tx-robot] updated from transifex 2017-08-24 00:09:10 +00:00
Morris Jobke 8f37d30f16 Merge pull request #6167 from nextcloud/stable11-bump-dompurify
[stable11] Bump DOMPurify to 1.0.0
2017-08-23 16:47:09 +02:00
Roeland Jago Douma d4dbdfa450 [3rdparty] Fix sabre/xml empty prop parsing
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-23 14:33:51 +02:00
Nextcloud bot 5cebe1a39e [tx-robot] updated from transifex 2017-08-23 00:09:13 +00:00
Roeland Jago Douma 9a26a3e8d7 Merge pull request #6198 from nextcloud/stable11-check-encoding-log
[stable11] Ensure log message is UTF-8 encoded
2017-08-22 09:08:21 +02:00
Nextcloud bot 2f0e7b16fb [tx-robot] updated from transifex 2017-08-22 00:08:39 +00:00
Lukas Reschke d5c2f7f7af Ensure log message is UTF-8 encoded
PHP's json_encode only accept proper UTF-8 strings, loop over all
elements to ensure that they are properly UTF-8 compliant or convert
them manually.

Without this somebody passing an invalid User Agent may make json_encode
return false which will get logged as empty newline.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-21 10:22:16 +02:00
Nextcloud bot d87729c42a [tx-robot] updated from transifex 2017-08-21 00:08:31 +00:00
Nextcloud bot 67ef5da9ce [tx-robot] updated from transifex 2017-08-20 00:08:33 +00:00
Nextcloud bot 73a86ab0bc [tx-robot] updated from transifex 2017-08-19 00:08:45 +00:00
Nextcloud bot cba3d71123 [tx-robot] updated from transifex 2017-08-18 00:08:34 +00:00
Lukas Reschke 49626baa06 Bump DOMPurify to 1.0.0
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-17 12:39:02 +02:00
Nextcloud bot 5d1e4395fa [tx-robot] updated from transifex 2017-08-17 00:08:32 +00:00
Nextcloud bot 7eaf63cbc6 [tx-robot] updated from transifex 2017-08-16 00:08:52 +00:00
Nextcloud bot bb803627bd [tx-robot] updated from transifex 2017-08-15 00:08:34 +00:00
Robin Appelman b0408f9f03 Merge pull request #6102 from nextcloud/swift-filter-dot-11
[11] Filter magic dot object when swift directory
2017-08-14 17:30:27 +02:00
Robin Appelman 4cafe899fa Filter magic dot object when swift directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-14 15:40:42 +02:00
Nextcloud bot 004c3d8e1c [tx-robot] updated from transifex 2017-08-14 00:08:40 +00:00
Nextcloud bot f8b44f618b [tx-robot] updated from transifex 2017-08-13 00:08:32 +00:00
Nextcloud bot 3b03bf138d [tx-robot] updated from transifex 2017-08-12 00:08:37 +00:00
Nextcloud bot 398905fcf1 [tx-robot] updated from transifex 2017-08-11 00:08:39 +00:00
Nextcloud bot 4c4abc5dbc [tx-robot] updated from transifex 2017-08-10 00:08:33 +00:00
Morris Jobke 31e4f875e4 Update syntax to drone 0.8
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-09 12:30:54 +02:00
Nextcloud bot 85f066cf7a [tx-robot] updated from transifex 2017-08-09 00:08:40 +00:00
Morris Jobke 08cbb6f372 Merge pull request #5980 from nextcloud/11-5738
[stable11] Improve spelling in LDAP
2017-08-08 19:22:57 +02:00
Nextcloud bot dd1be92d59 [tx-robot] updated from transifex 2017-08-08 00:08:28 +00:00
Lukas Reschke 9779e5eace Merge pull request #5991 from nextcloud/stable11-bump-version
[stable11] Update version
2017-08-06 20:24:51 +02:00
Nextcloud bot f772749084 [tx-robot] updated from transifex 2017-08-06 00:08:42 +00:00
Lukas Reschke f26b441dba Update version
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-05 20:09:39 +02:00
Nextcloud bot d7208e1a87 [tx-robot] updated from transifex 2017-08-05 00:08:29 +00:00
Allan Nordhøy c551dd5c87 Improve spelling in LDAP
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-04 12:21:27 +02:00
Nextcloud bot e935f10229 [tx-robot] updated from transifex 2017-08-04 00:08:37 +00:00
Nextcloud bot 867c612d4a [tx-robot] updated from transifex 2017-08-03 00:08:24 +00:00
Nextcloud bot bd7da7dd35 [tx-robot] updated from transifex 2017-08-02 00:08:31 +00:00
Nextcloud bot 160cd4f8e6 [tx-robot] updated from transifex 2017-08-01 00:08:44 +00:00
Nextcloud bot 32d466c0d8 [tx-robot] updated from transifex 2017-07-31 00:08:21 +00:00
Nextcloud bot 5a6acaba59 [tx-robot] updated from transifex 2017-07-30 00:08:21 +00:00
Nextcloud bot 1c98a8ce18 [tx-robot] updated from transifex 2017-07-29 00:08:49 +00:00
Nextcloud bot ffcace0331 [tx-robot] updated from transifex 2017-07-28 00:08:24 +00:00
Nextcloud bot 94dafbcf1a [tx-robot] updated from transifex 2017-07-27 00:08:21 +00:00
Morris Jobke 3e9db87af8 Merge pull request #5884 from nextcloud/11-5871
[stable11] Enable postgres on drone again
2017-07-26 22:31:46 +02:00
Morris Jobke a46ed0af28 Enable postgres on drone again
* use proper password

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 14:19:37 +02:00
Nextcloud bot 8b4713a591 [tx-robot] updated from transifex 2017-07-26 00:08:23 +00:00
Nextcloud bot b0b653b479 [tx-robot] updated from transifex 2017-07-25 00:08:21 +00:00
Nextcloud bot a0c96fb754 [tx-robot] updated from transifex 2017-07-24 00:08:22 +00:00
Nextcloud bot 95e83db4bd [tx-robot] updated from transifex 2017-07-23 00:08:16 +00:00
Nextcloud bot a4bf41080d [tx-robot] updated from transifex 2017-07-22 00:08:25 +00:00
Roeland Jago Douma 10a4491ff9 Merge pull request #5813 from nextcloud/11-backport-3884
[stable11] Skip null groups in group manager
2017-07-21 12:40:48 +02:00
Roeland Jago Douma b8d673c841 Merge pull request #5793 from nextcloud/stable11-prevent-php7.2-usage
[stable11] Show warning if PHP 7.2 is used
2017-07-21 12:39:06 +02:00
Roeland Jago Douma f1b689be10 Merge pull request #5806 from nextcloud/fix-public-links-stable11
[stable11] fix preview for public links
2017-07-21 11:02:33 +02:00
Lukas Reschke 83781a8349 Show warning if PHP 7.2 is used
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-21 09:39:41 +02:00
Morris Jobke 53d5c0f762 Merge pull request #5809 from nextcloud/11-backport-5790
[stable11] Fix config.sample.php documentation
2017-07-21 09:28:09 +02:00
Nextcloud bot fc988dc849 [tx-robot] updated from transifex 2017-07-21 00:08:27 +00:00
Joas Schilling 783a46cfce Fix 5.6 duplicate class import
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-20 20:28:09 +02:00
Joas Schilling e2354109cd Clean up the test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-20 20:28:00 +02:00
Joas Schilling 564b2f974f Use DI
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-20 16:34:16 +02:00
Vincent Petry a78b13da82 Skip null groups in group manager (#26871) (#26956)
* Skip null groups in group manager (#26871)

* Skip null groups in group manager

* Also skip null groups in group manager's search function

* Add more group null checks in sharing code

* Add unit tests for null group safety in group manager

* Add unit tests for sharing code null group checks

* Added tests for null groups handling in sharing code

* Ignore moveShare optional repair in mount provider

In some cases, data is inconsistent in the oc_share table due to legacy
data. The mount provider might attempt to make it consistent but if the
target group does not exist any more it cannot work. In such case we
simply ignore the exception as it is not critical. Keeping the
exception would break user accounts as they would be unable to use
their filesystem.

* Adjust null group handing + tests

* Fix new group manager tests

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-20 16:29:14 +02:00
Roeland Jago Douma 1d444a701a Merge pull request #5760 from nextcloud/backport-translations-stuff-11
[stable11] Backport translation fixes
2017-07-20 14:25:00 +02:00
Björn Schießle ed9a4c29a7 Merge pull request #5631 from nextcloud/add-recovery-key-on-public-upload-stable11
[stable11] Add recovery key on public upload
2017-07-20 14:08:43 +02:00
Morris Jobke f92fd57bd1 Fix config.sample.php documentation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-20 13:00:56 +02:00
Bjoern Schiessle d3039b8205 make sure that we always have a owner
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:43:07 +02:00
Bjoern Schiessle 6e2259037b Add recovery key on public upload
In order to decide if a recovery key needs to be added we always
need to check the files owner settings and not the settings of
the currently logged in user.

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:43:07 +02:00
Bjoern Schiessle e4ba2ff476 fix preview for public links
in case a user is already logged in on the same server from
which the public link comes from, we need to setup the owners
file system in order to show the preview

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-20 11:32:11 +02:00
Nextcloud bot 434ae6606d [tx-robot] updated from transifex 2017-07-20 00:08:22 +00:00
Nextcloud bot 338aafbaf8 [tx-robot] updated from transifex 2017-07-19 00:08:43 +00:00
Morris Jobke 7ae5b2f343 Merge pull request #5763 from nextcloud/files-checker-11
[stable11] Add test to check if new files are added to the root of the repository
2017-07-18 21:12:11 +02:00
Morris Jobke e80bf0572b Add test to check if new files are added to the root of the repository
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-18 20:33:36 +02:00
Lukas Reschke 40abc3a18a Merge pull request #5727 from nextcloud/bump-stable11-version
11.0.4RC1
2017-07-18 09:37:11 +02:00
Allan Nordhøy 9469c9da69 : Bigversal 2017-07-18 09:18:27 +02:00
Allan Nordhøy ffcd20cb96 sent, an invitation, - successful 2017-07-18 09:17:22 +02:00
Allan Nordhøy f8a77fa151 log out, : Bigversal 2017-07-18 09:17:10 +02:00
Allan Nordhøy eb5256177b : Bigversal and LDAP 2017-07-18 09:16:08 +02:00
Allan Nordhøy 5dc81ab5a0 command-line, Consider narrowing 2017-07-18 09:16:02 +02:00
Allan Nordhøy 731dee4002 Spelling: Shortening and binding 2017-07-18 09:15:56 +02:00
Nextcloud bot 595270f846 [tx-robot] updated from transifex 2017-07-18 00:08:21 +00:00
Lukas Reschke ce3c277e43 Adjust tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-17 11:16:16 +02:00
Lukas Reschke 66c2e52c80 11.0.4RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-17 11:16:15 +02:00
Nextcloud bot e62273b613 [tx-robot] updated from transifex 2017-07-17 00:08:21 +00:00
Morris Jobke 0d7154520d Merge pull request #5731 from nextcloud/stable11-fix-drone
[stable11] fix drone for 0.7
2017-07-16 11:11:16 +02:00
Morris Jobke bd90d6b4f5 Add redis support to our CI jobs
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-16 10:36:15 +02:00
Nextcloud bot 1bb7a31cbc [tx-robot] updated from transifex 2017-07-15 00:09:17 +00:00
Morris Jobke 679ce48671 Add branch limitation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-14 13:08:19 +02:00
Morris Jobke 6ec321ef23 Fix drone
Fix service container host name
Fix more hostnames

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-14 12:59:37 +02:00
Nextcloud bot 9e463c1f54 [tx-robot] updated from transifex 2017-07-14 00:08:56 +00:00
Morris Jobke 7b70c4000b Merge pull request #5464 from nextcloud/shared-cache-during-init-11
[11] dont die if we try to access the shared cache while setting up the shared storage
2017-07-13 22:37:52 +02:00
Nextcloud bot 2954bc8e30 [tx-robot] updated from transifex 2017-07-13 00:08:51 +00:00
Nextcloud bot 6e747dc2b1 [tx-robot] updated from transifex 2017-07-12 00:09:06 +00:00
Morris Jobke d2d0228c0f Merge pull request #5680 from nextcloud/stable11-5656-fix-unselecting-items-on-multi-select-dropdowns
[stable11] Fix unselecting items on multi select dropdowns
2017-07-11 15:58:38 +02:00
Daniel Calviño Sánchez 3c8bcf935b Enable the toggleSelect extension in multi-select dropdowns
The toggleSelect extension for Select2 makes possible to unselect items
in a multi-select dropdown by clicking on them; this behaviour should be
enabled in all the multi-select dropdowns used in the server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-11 13:13:14 +02:00
Nextcloud bot 2cbf555528 [tx-robot] updated from transifex 2017-07-10 00:09:00 +00:00
Nextcloud bot 4e345072d2 [tx-robot] updated from transifex 2017-07-09 00:08:49 +00:00
Nextcloud bot beabd507ed [tx-robot] updated from transifex 2017-07-08 00:08:45 +00:00
Nextcloud bot a3ec0b68e0 [tx-robot] updated from transifex 2017-07-07 00:08:44 +00:00
Nextcloud bot 1692daec40 [tx-robot] updated from transifex 2017-07-06 00:09:02 +00:00
Morris Jobke bb1ff50f63 Merge pull request #5215 from nextcloud/autocomplete-settings-stable11
[stable11] some sharing settings
2017-07-05 11:22:39 +02:00
Nextcloud bot 9a55dd5867 [tx-robot] updated from transifex 2017-07-05 00:08:45 +00:00
Morris Jobke 1a3df3b701 Merge pull request #5575 from nextcloud/backport-lookup-server-settings
allow to disable upload to lookup server, by default it is enabled
2017-07-04 11:19:14 +02:00
Nextcloud bot a7c1d2c55a [tx-robot] updated from transifex 2017-07-04 00:08:43 +00:00
Nextcloud bot fbd62b53c4 [tx-robot] updated from transifex 2017-07-03 00:08:40 +00:00
Nextcloud bot b884049064 [tx-robot] updated from transifex 2017-07-02 00:08:32 +00:00
Nextcloud bot d3cbbf0185 [tx-robot] updated from transifex 2017-07-01 00:08:47 +00:00
Bjoern Schiessle 9aa41b229d simplify return statement
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-30 17:35:44 +02:00
Bjoern Schiessle 18c292d5c3 allow to disable upload to lookup server, by default it is enabled
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-30 17:29:26 +02:00
Nextcloud bot 0305440263 [tx-robot] updated from transifex 2017-06-30 00:08:45 +00:00
Nextcloud bot 4fc404ca54 [tx-robot] updated from transifex 2017-06-29 00:08:45 +00:00
Nextcloud bot 74407879c4 [tx-robot] updated from transifex 2017-06-28 00:08:36 +00:00
Nextcloud bot 184eedf6d7 [tx-robot] updated from transifex 2017-06-27 00:08:36 +00:00
Nextcloud bot 1be751d23b [tx-robot] updated from transifex 2017-06-26 00:08:49 +00:00
Nextcloud bot 904fd586e0 [tx-robot] updated from transifex 2017-06-25 00:08:36 +00:00
Nextcloud bot 9d35ab757e [tx-robot] updated from transifex 2017-06-24 00:08:48 +00:00
Nextcloud bot 8fd41b723a [tx-robot] updated from transifex 2017-06-23 00:09:33 +00:00
Nextcloud bot 8d6625a211 [tx-robot] updated from transifex 2017-06-22 00:08:55 +00:00
Morris Jobke 56c345b471 Merge pull request #5499 from nextcloud/backport-5459-dont-reload-on-subadmin-setting-change
[stable11] Don't try to save the setting when its not an admin
2017-06-21 15:36:18 -05:00
Morris Jobke 53ff2c30b6 Merge pull request #5493 from Bekcpear/stable11
[stable11] Fix upload remaining time
2017-06-21 12:18:37 -05:00
Joas Schilling 04998df1ea Also allow group admins to toogle the storage location
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-21 12:40:57 +02:00
Joas Schilling 274964f3b7 Don't try to save the setting when its not an admin
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-21 12:40:45 +02:00
Yaojin Qian f56cf517bd Fix upload remaining time
Backport https://github.com/nextcloud/server/pull/5177

Signed-off-by: Yaojin Qian <i@ume.ink>
2017-06-21 09:11:56 +08:00
Nextcloud bot a62530d7c1 [tx-robot] updated from transifex 2017-06-21 00:08:33 +00:00
Nextcloud bot b28705b31c [tx-robot] updated from transifex 2017-06-20 00:09:00 +00:00
Robin Appelman 3758eb8047 dont die if we try to access the shared cache while setting up the shared storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-19 14:01:39 +02:00
Nextcloud bot d22d3b316f [tx-robot] updated from transifex 2017-06-19 00:08:38 +00:00
Nextcloud bot f5eaee4f31 [tx-robot] updated from transifex 2017-06-17 00:08:46 +00:00
Nextcloud bot 95c016fc24 [tx-robot] updated from transifex 2017-06-16 00:09:03 +00:00
Morris Jobke 3e9cda35cb Merge pull request #5190 from nextcloud/treat-session-regid-error-stable11
[stable11] Treat PHP Errors on User session regenerate
2017-06-14 23:20:27 -05:00
Nextcloud bot 27710d3fdb [tx-robot] updated from transifex 2017-06-15 00:09:03 +00:00
Arthur Schiwon 6f1fd9ce08 change PHP errors to ErrorException in the session (PHP >=7)
Otherwise it might be that authentication apps are being disabled on
during operation while in fact the session handler has hiccup.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-14 12:57:07 +02:00
Lukas Reschke c6cd90f18c Merge pull request #5363 from nextcloud/exclude-files-external-dir-from-encryption-stable11
[stable11] don't try to encrypt/decrypt the certificate bundle
2017-06-14 09:50:14 +02:00
Nextcloud bot b7c6586c8d [tx-robot] updated from transifex 2017-06-14 00:08:59 +00:00
Morris Jobke f6181d8e16 Merge pull request #4913 from nextcloud/backport-4810-mimetype-update
[stable11] Fix mimetype update query
2017-06-13 17:39:31 -05:00
Morris Jobke 136601ccae Merge pull request #5366 from nextcloud/backport-5365
[stable11] filter missing groups in share provider
2017-06-13 08:05:43 -05:00
Robin Appelman 460df4c007 filter missing groups in share provider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-13 10:55:09 +02:00
Bjoern Schiessle f8addd4cf9 don't try to encrypt/decrypt the certificate bundle
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-13 10:16:18 +02:00
Nextcloud bot b01c39478a [tx-robot] updated from transifex 2017-06-13 00:08:42 +00:00
Nextcloud bot d93db515b4 [tx-robot] updated from transifex 2017-06-12 00:08:30 +00:00
Nextcloud bot 735e46d79b [tx-robot] updated from transifex 2017-06-11 00:08:39 +00:00
Nextcloud bot e8b1e30fbd [tx-robot] updated from transifex 2017-06-10 00:08:56 +00:00
Nextcloud bot 5f1ee2e2f1 [tx-robot] updated from transifex 2017-06-09 00:08:44 +00:00
Nextcloud bot b620eb192a [tx-robot] updated from transifex 2017-06-08 00:08:46 +00:00
Nextcloud bot 99180cc30a [tx-robot] updated from transifex 2017-06-07 00:09:25 +00:00
Nextcloud bot 4f2246a92d [tx-robot] updated from transifex 2017-06-06 00:09:04 +00:00
Nextcloud bot 7a850244ec [tx-robot] updated from transifex 2017-06-05 00:08:47 +00:00
Nextcloud bot 480e7d0613 [tx-robot] updated from transifex 2017-06-04 00:08:49 +00:00
Nextcloud bot 19adcc8945 [tx-robot] updated from transifex 2017-06-03 00:09:21 +00:00
blizzz 671a779a17 Merge pull request #5214 from nextcloud/5213-stable11
[stable11] Trigger changeUser hook only on real changes
2017-06-02 13:15:29 +02:00
Nextcloud bot 3af49dafef [tx-robot] updated from transifex 2017-06-02 00:08:49 +00:00
blizzz e1a1a1c801 Merge pull request #5128 from nextcloud/ldap-attempt-reconnect-stable11
[stable11] Add layer on top of LDAP methods to catch server disconnects and attempt re-connection
2017-06-01 13:15:56 +02:00
Bjoern Schiessle 187e76a184 fix typo
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-01 12:34:21 +02:00
Bjoern Schiessle 59f4ffb9a3 use (int) instead of intval for performance reasons
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-01 12:34:12 +02:00
Morris Jobke decdb06e89 properly include class
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-01 12:33:56 +02:00
Morris Jobke fef75ff2c0 Use intval() for validation of config options
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-01 12:33:41 +02:00
Morris Jobke 26c8f82ba2 Improve the UX for sharing settings
* shows a info when list is potentially truncated
* shows a warning when characters length is not enough

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-01 12:33:06 +02:00
Bjoern Schiessle a5f0f3f4f6 allow to configure a min-length of search strings for auto-compeltion and a max number for of results returned
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-06-01 12:31:34 +02:00
Arthur Schiwon ee7c6e0db8 emit changeUser only if there really was a change (quota, displayname)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-06-01 11:50:09 +02:00
Nextcloud bot 0b8deebb4f [tx-robot] updated from transifex 2017-06-01 00:08:58 +00:00
Arthur Schiwon 05881fa4ed remove unnecessary lines…
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-31 12:26:03 +02:00
Arthur Schiwon aecb85cf64 Treat PHP Errors on User session regenerate
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-31 12:15:06 +02:00
Nextcloud bot ea9e6722de [tx-robot] updated from transifex 2017-05-31 00:09:05 +00:00
Nextcloud bot da4aeaae59 [tx-robot] updated from transifex 2017-05-30 00:09:02 +00:00
Nextcloud bot 09390ab48d [tx-robot] updated from transifex 2017-05-29 00:08:53 +00:00
Nextcloud bot 2feba45266 [tx-robot] updated from transifex 2017-05-28 00:08:33 +00:00
Nextcloud bot ce8aaf5f99 [tx-robot] updated from transifex 2017-05-27 00:08:51 +00:00
Arthur Schiwon 351204ec16 fix paging
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-26 13:47:38 +02:00
Arthur Schiwon 973f9bfe81 make sure used ldap connection resource is always up to date
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-26 13:04:04 +02:00
bline 1b4b7b639f moved to something a little less invasive. back to passing CR around.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-26 13:03:51 +02:00
bline 3f176a7449 special case for controlPagedResultResponse. It would be nice if there was a generic way to pass by reference with call_user_func_array..
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-05-26 13:00:33 +02:00
Nextcloud bot 3f4cefbb54 [tx-robot] updated from transifex 2017-05-26 00:08:34 +00:00
Nextcloud bot 53b09c1f62 [tx-robot] updated from transifex 2017-05-25 00:08:22 +00:00
Nextcloud bot 2697e84ec6 [tx-robot] updated from transifex 2017-05-24 00:08:40 +00:00
Roeland Jago Douma 840090d39c Merge pull request #5074 from nextcloud/external-get-for-group-sql-type-11
[11] use the correct param type when getting external storages for groups
2017-05-23 22:39:11 +02:00
Robin Appelman 135bf7427f use the correct param type when getting external storages for groups
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-23 16:50:19 +02:00
Roeland Jago Douma 746c263e44 Merge pull request #5052 from nextcloud/stable11-downstream-27027
Stable11 downstream 27027
2017-05-23 13:13:45 +02:00
Nextcloud bot 6c01b214a6 [tx-robot] updated from transifex 2017-05-23 00:08:48 +00:00
Robin Appelman 1fd6369a60 set cache to failedcache when shared storage init fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-22 23:16:28 +02:00
Robin Appelman 0d20865548 return failed cache if the shared storage failed to setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-22 23:16:25 +02:00
Robin Appelman 4652923011 also set nonmaskedstorage in error cases
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-22 23:16:21 +02:00
Vincent Petry cbeedbfb83 Ignore NoUserException for shares from ghosts
Add unit tests for FailedStorage init from SharedStorage

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-22 23:16:18 +02:00
Nextcloud bot caa48bc984 [tx-robot] updated from transifex 2017-05-22 00:08:40 +00:00
Nextcloud bot cf9382cef8 [tx-robot] updated from transifex 2017-05-21 00:08:44 +00:00
Morris Jobke 9a36d141dc Merge pull request #4999 from nextcloud/fix-for-sharing-stable-11
fix for sharing stable 11
2017-05-20 17:08:24 -05:00
Daniel Hansson 933beac880 fix for sharing stable 11
Signed-off-by: Daniel Hansson <daniel@techandme.se>
2017-05-20 17:22:42 +02:00
Nextcloud bot 369044192a [tx-robot] updated from transifex 2017-05-20 00:08:46 +00:00
Nextcloud bot 078c619b2c [tx-robot] updated from transifex 2017-05-19 00:08:46 +00:00
Roeland Jago Douma b85fc1a03f Merge pull request #4919 from nextcloud/touch-floor-11
[11] round the mtime in touch
2017-05-18 19:50:49 +02:00
Robin Appelman d212a5167d round the mtime in touch
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-18 13:22:52 +02:00
Nextcloud bot d785395bed [tx-robot] updated from transifex 2017-05-18 00:07:59 +00:00
Nextcloud bot fbcb0e75bd [tx-robot] updated from transifex 2017-05-17 15:56:41 +00:00
Joas Schilling 59f621e9cd Fix variable names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-17 10:30:03 +02:00
Joas Schilling 2e3fe61f99 Fix order of parameter and escaping
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-17 10:29:53 +02:00
Joas Schilling c85a770ecf Actually we want to update the mimetype of all files ending with the suffix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-17 10:29:42 +02:00
Rello ff41ee40bf don´t change folders with --repair-filecache
check if folder is "httpd/unix-directory" and don´t perform here #27585
2017-05-17 10:29:31 +02:00
Nextcloud bot 494ccee0f1 [tx-robot] updated from transifex 2017-05-17 00:08:18 +00:00
Nextcloud bot 978ccc2e82 [tx-robot] updated from transifex 2017-05-16 00:08:17 +00:00
Nextcloud bot fb560080fe [tx-robot] updated from transifex 2017-05-15 00:08:25 +00:00
Nextcloud bot 7dfd35f399 [tx-robot] updated from transifex 2017-05-14 00:08:03 +00:00
Nextcloud bot 717c593584 [tx-robot] updated from transifex 2017-05-13 00:08:12 +00:00
Nextcloud bot 6c13e0b885 [tx-robot] updated from transifex 2017-05-12 00:07:56 +00:00
Morris Jobke b2d1c91b96 Merge pull request #4801 from nextcloud/backport-4800
[stable11] SSL menu is now shown for files_external
2017-05-11 09:05:35 -05:00
Nextcloud bot 39047910b4 [tx-robot] updated from transifex 2017-05-11 00:08:17 +00:00
Morris Jobke b03269e8eb SSL menu is now shown for files_external
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-10 16:10:19 -05:00
Nextcloud bot bff6f88c8b [tx-robot] updated from transifex 2017-05-10 00:08:42 +00:00
Nextcloud bot 4e320c63d1 [tx-robot] updated from transifex 2017-05-09 05:08:17 +00:00
Nextcloud bot da06a6436e [tx-robot] updated from transifex 2017-05-09 04:33:01 +00:00
Nextcloud bot 26d8de97ba [tx-robot] updated from transifex 2017-05-09 00:08:01 +00:00
Nextcloud bot 6f0858d44d [tx-robot] updated from transifex 2017-05-08 20:49:19 +00:00
Nextcloud bot 4fe02f6e3a [tx-robot] updated from transifex 2017-05-08 00:07:47 +00:00
Nextcloud bot a17c27d526 [tx-robot] updated from transifex 2017-05-07 00:07:40 +00:00
Nextcloud bot 8f3cdc3c23 [tx-robot] updated from transifex 2017-05-06 00:07:43 +00:00
Nextcloud bot 525a412ca4 [tx-robot] updated from transifex 2017-05-05 00:07:38 +00:00
Nextcloud bot 43f36ee6e4 [tx-robot] updated from transifex 2017-05-04 00:07:38 +00:00
Nextcloud bot 3b8f452d3e [tx-robot] updated from transifex 2017-05-03 00:07:41 +00:00
Nextcloud bot ca96cbcc59 [tx-robot] updated from transifex 2017-05-02 00:07:31 +00:00
Roeland Jago Douma 398013b1a5 Merge pull request #4622 from nextcloud/cache-gc-no-fs-11
[11] dont spam log when request can't access filesystem
2017-05-01 19:41:08 +02:00
Robin Appelman c8b7fa3028 dont spam log when request can't access filesystem
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-01 15:03:09 +02:00
Nextcloud bot 89bf0ca0b4 [tx-robot] updated from transifex 2017-05-01 00:07:42 +00:00
Nextcloud bot 24cf33c540 [tx-robot] updated from transifex 2017-04-30 00:07:31 +00:00
Nextcloud bot 8d29f4a0ae [tx-robot] updated from transifex 2017-04-29 00:07:27 +00:00
Nextcloud bot 3c7da5a0f5 [tx-robot] updated from transifex 2017-04-28 14:06:05 +00:00
Nextcloud bot c4878a8d5a [tx-robot] updated from transifex 2017-04-28 00:07:52 +00:00
Nextcloud bot 86495d4d2a [tx-robot] updated from transifex 2017-04-27 00:07:51 +00:00
Nextcloud bot efc8d06583 [tx-robot] updated from transifex 2017-04-26 00:07:54 +00:00
Morris Jobke 91fa29c1e1 Merge pull request #4491 from nextcloud/fcloseafterkill-11
[11] Prevent PHP request to get killed when using fclose callback (#26775)
2017-04-25 11:55:22 -03:00
Vincent Petry e47d8028dc Prevent PHP request to get killed when using fclose callback (#26775)
* Prevent PHP request to get killed when using fclose callback

* Add ignore_user_abort everywhere where the time limit is set to 0

Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-25 14:11:38 +02:00
Nextcloud bot ba776a3c0f [tx-robot] updated from transifex 2017-04-25 00:07:40 +00:00
Roeland Jago Douma 422aab3efc Merge pull request #4459 from nextcloud/backport-4457-fix-storage-info-with-wrong-casing
[stable11] Fix the storage info and other checks when the user has wrong casing
2017-04-24 19:56:43 +02:00
Morris Jobke b65f2e8540 Merge pull request #4474 from nextcloud/backport-4473
[stable11] Add unit tests for mounts of delete users
2017-04-24 13:19:14 -03:00
Joas Schilling ee86d9023c Add unit tests for mounts of delete users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-24 16:46:15 +02:00
Robin Appelman e42b1b775e Merge pull request #4390 from nextcloud/backport-4371-better-username-validation
Better validation of allowed user names
2017-04-24 15:21:38 +02:00
Joas Schilling 20bbc6d585 Fix the storage info and other checks when the user has wrong casing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-24 10:35:17 +02:00
Nextcloud bot d632a9053d [tx-robot] updated from transifex 2017-04-24 00:07:37 +00:00
Nextcloud bot 1964f9d115 [tx-robot] updated from transifex 2017-04-23 00:07:40 +00:00
Nextcloud bot 9649661f8f [tx-robot] updated from transifex 2017-04-22 00:07:45 +00:00
Lukas Reschke 0e5d9d2310 Merge pull request #4419 from nextcloud/final-version
[stable11] Increase version to final 11.0.3
2017-04-21 19:16:35 +02:00
Lukas Reschke 6f3e0dbe2b Increase version to final 11.0.3
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-21 12:11:50 +02:00
Nextcloud bot 59b06161a2 [tx-robot] updated from transifex 2017-04-21 00:07:46 +00:00
Nextcloud bot efe6b54f85 [tx-robot] updated from transifex 2017-04-20 00:07:46 +00:00
Joas Schilling ce8aee4a4e Better validation of allowed user names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-19 09:21:46 +02:00
Nextcloud bot 867950a78b [tx-robot] updated from transifex 2017-04-19 00:07:50 +00:00
Nextcloud bot e8fe783bb3 [tx-robot] updated from transifex 2017-04-18 23:08:54 +00:00
Nextcloud bot c59c05a810 [tx-robot] updated from transifex 2017-04-18 20:47:55 +00:00
Lukas Reschke 29b14c46d7 Merge pull request #4377 from nextcloud/stable11-2808
[stable11] Translation string corrected > 1 user
2017-04-18 21:07:30 +02:00
Alan Tygel e57bf44fc9 Translation string corrected > 1 user
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-18 11:49:05 -05:00
Lukas Reschke 84383bc316 11.0.3RC2
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-18 11:08:40 +02:00
Nextcloud bot fbbcc1ccf4 [tx-robot] updated from transifex 2017-04-18 00:07:35 +00:00
Nextcloud bot 0bb960f100 [tx-robot] updated from transifex 2017-04-17 00:07:42 +00:00
Nextcloud bot a864971a45 [tx-robot] updated from transifex 2017-04-16 00:07:33 +00:00
Nextcloud bot b01425be66 [tx-robot] updated from transifex 2017-04-15 00:07:46 +00:00
Nextcloud bot 7ada78ca87 [tx-robot] updated from transifex 2017-04-14 00:07:47 +00:00
Nextcloud bot 4abcd07a7c [tx-robot] updated from transifex 2017-04-13 00:08:13 +00:00
Nextcloud bot 3f459416f0 [tx-robot] updated from transifex 2017-04-12 00:07:53 +00:00
Lukas Reschke cb4b8d2287 Merge pull request #4301 from nextcloud/stable11-shared_by_for_own_calendars
[stable11] fix bug with shared_by for own calendars if shared
2017-04-11 14:39:22 +02:00
Georg Ehrke bc67585f3e fix bug with shared_by for own calendars if shared
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-04-11 12:24:29 +02:00
Morris Jobke baa0b3235c Merge pull request #4290 from nextcloud/stable11-maintenance-mode-also-on-dav
Add missing maintenance plugin to new DAV endpoint
2017-04-11 00:44:45 -05:00
Nextcloud bot cbf65030f5 [tx-robot] updated from transifex 2017-04-11 00:07:38 +00:00
Lukas Reschke c576b5e2c3 Add missing maintenance plugin to new DAV endpoint
The `/remote.php/dav/` endpoint was not implementing the MaintenancePlugin. Thus when the instance was put into maintenance mode the endpoints were still accessible and delivered empty content. Sync clients really do love this.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-11 01:00:12 +02:00
Morris Jobke 7ce627c308 Merge pull request #4278 from nextcloud/permissions-mask-scanner-11
Dont use the permissions mask while scanning
2017-04-10 13:01:16 -05:00
Morris Jobke 407831ac3e Merge pull request #4251 from nextcloud/add-share-by-mail-capabilities
add capabilities for share by mail
2017-04-10 12:48:37 -05:00
Bjoern Schiessle 8b7676dfe6 add capabilities for share by mail
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-10 17:20:50 +02:00
Robin Appelman 6d5adb8b8f Dont use the permissions mask while scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-10 16:35:46 +02:00
Lukas Reschke 5214405f93 Merge pull request #4272 from nextcloud/stable11-fix_missing_owner_on_public_calendars
[stable11] don't remove owner property for public calendars
2017-04-10 14:31:16 +02:00
Georg Ehrke f54a3d9552 don't remove owner property for public calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-04-10 10:45:14 +02:00
Nextcloud bot 210293513e [tx-robot] updated from transifex 2017-04-10 00:09:00 +00:00
Nextcloud bot 75adf3a7d7 [tx-robot] updated from transifex 2017-04-09 00:07:50 +00:00
Nextcloud bot 70992e92df [tx-robot] updated from transifex 2017-04-08 00:07:57 +00:00
Roeland Jago Douma cf96f3423d Merge pull request #4254 from nextcloud/stable11-4253
[stable11] make JobList::next() lock free
2017-04-07 22:19:07 +02:00
Jörn Friedrich Dreyer 1bc28261d5 make JobList::next() lock free
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-07 13:03:16 -05:00
Roeland Jago Douma 35b1f23d11 Merge pull request #4230 from nextcloud/stable11-increase-version
[stable11] Increase to 11.0.3 RC1
2017-04-07 10:50:28 +02:00
Nextcloud bot 04e22a94b8 [tx-robot] updated from transifex 2017-04-07 00:09:21 +00:00
Morris Jobke 1f79248a33 Merge pull request #4234 from nextcloud/backport-4066-always-fix-broken-dav-values
[stable11] Directly fix invalid values of DTEND and DTSTART
2017-04-06 10:58:18 -05:00
Morris Jobke 15ecaa9f0f Merge pull request #4235 from nextcloud/backport-3857-legacy-caldav-endpoint-email-invitations
[stable11] Fix scheduling plugin on legacy caldav endpoint
2017-04-06 10:47:48 -05:00
Morris Jobke aabcb043f3 Merge pull request #4236 from nextcloud/backport-3827-remove-double-password-confirmation
[stable11] Remove the double password confirmation on changing cron
2017-04-06 10:46:30 -05:00
Joas Schilling 125c0eb30e Merge pull request #4238 from nextcloud/4094-stable11
[stable11] Fix LDAP description
2017-04-06 14:18:30 +02:00
Joas Schilling e5f51f2ee6 Merge pull request #4237 from nextcloud/backport-3781-log-spam-with-external-storages
[stable11] Also add the root of external storages to the file id list
2017-04-06 14:10:01 +02:00
Joas Schilling 02a47150db Merge pull request #4242 from nextcloud/encryption-fix-mail-share-stable11
[stable11] take share by mail into consideration if we calculate the access list
2017-04-06 14:09:28 +02:00
Joas Schilling 562b930046 Merge pull request #4225 from nextcloud/stable11-token-save-scope
[Stable11] token save scope
2017-04-06 14:08:00 +02:00
Joas Schilling 6532ce22c2 Merge pull request #4233 from nextcloud/backport-4071-database-conversion-failure
[stable11] Make sure blob columns are correctly converted as parameters
2017-04-06 14:06:54 +02:00
Bjoern Schiessle d0b93ad404 take share by mail into consideration if we calculate the access list
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-06 12:00:42 +02:00
Lukas Reschke fcf5739cc5 Fix test
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-06 10:30:32 +02:00
Marius Blüm ad41395dc1 Fix LDAP description
Signed-off-by: Marius Blüm <marius@lineone.io>
2017-04-06 10:26:31 +02:00
Joas Schilling d0a7e01baf Also add the root of external storages to the file id list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:13:50 +02:00
Joas Schilling c5d980788c Remove the double password confirmation on changing cron
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:10:10 +02:00
Joas Schilling fb9eb6aa68 Fix scheduling plugin on legacy caldav endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:06:51 +02:00
Joas Schilling abc9e706c5 Directly fix the values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:03:56 +02:00
Joas Schilling a7efdd6094 Use false because null crashes the cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:01:32 +02:00
Joas Schilling ea34f3bbbd Make sure blob columns are correctly converted as parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-06 10:01:15 +02:00
Joas Schilling 392610e3c6 Merge pull request #4154 from nextcloud/stable11-4153
[stable11] Fix upload of folders in Chrome
2017-04-06 09:57:16 +02:00
Morris Jobke b2c87ae63f Merge pull request #4229 from nextcloud/stable11-dont-list-on-public-calendar-endpoint
[stable11] Don't list on public calendar endpoints
2017-04-06 00:55:36 -05:00
Morris Jobke 6918ed9903 Fix upload of folders in Chrome
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-06 00:54:09 -05:00
Morris Jobke 190ccef819 Merge pull request #4228 from nextcloud/stable11-error-messages
[Stable11] Error messages
2017-04-06 00:30:10 -05:00
Nextcloud bot 96c20ebddb [tx-robot] updated from transifex 2017-04-06 00:08:02 +00:00
Lukas Reschke 7f199a2c6b [stable11] Increase to 11.0.3 RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:27:20 +02:00
Lukas Reschke 022768387c Don't list on public calendar endpoints
There is no need to allow listing here.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:18:13 +02:00
Lukas Reschke f9b258a371 Replace unecessary unescaped prints with print
There's no need to have those unescaped from what I can see.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:14:12 +02:00
Lukas Reschke 462073c686 Remove verbose error message
There's no need to have this included in the error message.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:14:04 +02:00
Lukas Reschke cabb52b909 Add integration tests for token auth
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:00:53 +02:00
Robin Appelman f4b6c34ddf Save the scope of an auth token in the session
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-05 23:00:53 +02:00
Roeland Jago Douma f6ebdee8fd Merge pull request #4214 from nextcloud/share-dialog-no-avatars
don't try to render the avatars if avatars are disabled
2017-04-05 14:07:44 +02:00
Bjoern Schiessle 616b767835 don't try to render the avatars if avatars are disabled
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-05 12:26:27 +02:00
Roeland Jago Douma 7f0c07fa5d Merge pull request #4207 from nextcloud/masterkey-publiclink-nc11
[stable11] Make public links work with master key
2017-04-05 10:21:34 +02:00
Nextcloud bot 9c9bdabf74 [tx-robot] updated from transifex 2017-04-05 00:08:31 +00:00
Vincent Petry 6cbb6ceba3 Use master key for public links as well 2017-04-04 17:57:40 +02:00
Vincent Petry f000df0263 Add tests for null user 2017-04-04 17:57:32 +02:00
Vincent Petry c215255771 Fix public link for master key
In public link mode there is no session, so the code should use the
public key instead.
2017-04-04 17:57:20 +02:00
Nextcloud bot e5468409b5 [tx-robot] updated from transifex 2017-04-04 00:07:55 +00:00
Roeland Jago Douma 8bab4ecffc Merge pull request #4167 from nextcloud/backport-4166-invalid-int-for-transparency-on-calendars
[stable11] Make sure transparency is an integer when saving a calendar
2017-04-03 11:00:18 +02:00
Nextcloud bot 9964782b79 [tx-robot] updated from transifex 2017-04-03 00:08:30 +00:00
Nextcloud bot 82eb215c41 [tx-robot] updated from transifex 2017-04-02 00:07:57 +00:00
Nextcloud bot df5ca72796 [tx-robot] updated from transifex 2017-04-01 00:08:18 +00:00
Nextcloud bot 6fa95a2ecf [tx-robot] updated from transifex 2017-03-31 00:08:44 +00:00
Roeland Jago Douma 00a023ec7b Merge pull request #3415 from nextcloud/backport-3184-migration-restriction-by-vendor-version
[stable11] Prevent migration from ownCloud 10 to Nextcloud 11
2017-03-30 23:13:03 +02:00
Joas Schilling 21b413b08b Make sure transparency is an integer when saving a calendar
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-30 18:01:21 +02:00
Joas Schilling cf8a680b97 Fix the update from NC 10 and 11 to the latest NC 11
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-30 15:31:50 +02:00
Morris Jobke 0b17068c9e fix version number
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-30 15:22:40 +02:00
Morris Jobke 9a526a2eb8 Fix return value of getAllowedPreviousVersions()
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-30 15:22:40 +02:00
Joas Schilling e8bbef462f Prevent migration from ownCloud 10 to Nextcloud 11
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-30 15:22:39 +02:00
Nextcloud bot fc43bbe2c0 [tx-robot] updated from transifex 2017-03-30 00:07:51 +00:00
Morris Jobke ca08ab9bd9 Merge pull request #4029 from nextcloud/federation-fixes-stable11
Federation fixes stable11
2017-03-28 18:11:31 -06:00
Nextcloud bot bac0384f16 [tx-robot] updated from transifex 2017-03-29 00:07:51 +00:00
Nextcloud bot 3d3b0d0cdf [tx-robot] updated from transifex 2017-03-28 00:08:03 +00:00
Nextcloud bot 2ed9c196bd [tx-robot] updated from transifex 2017-03-27 00:08:07 +00:00
Nextcloud bot 62c7299cda [tx-robot] updated from transifex 2017-03-26 01:07:13 +00:00
Nextcloud bot 9f060e3073 [tx-robot] updated from transifex 2017-03-25 01:07:54 +00:00
Bjoern Schiessle d44913eeb5 fix tests
calling getAbsoluteBundlePath() in the constructor makes other tests fail

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-24 14:36:40 +01:00
Joas Schilling 338636fb3f Load cert file before syncing addressbooks and contacts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-24 14:36:28 +01:00
Bjoern Schiessle 55b10e777e use right format for avatars
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-24 14:36:16 +01:00
Bjoern Schiessle 3dabb256c0 don't add empty values to the vcard
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-24 14:35:59 +01:00
Bjoern Schiessle e2656c6521 only execute code if exception was thrown by the corresponding controller
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-24 14:35:50 +01:00
Bjoern Schiessle 4de5947c07 fix the way we create a new vcard to avoid to have multiple UIDs
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-03-24 14:35:36 +01:00
Nextcloud bot 623647661e [tx-robot] updated from transifex 2017-03-24 01:08:12 +00:00
Nextcloud bot 677f1e5f67 [tx-robot] updated from transifex 2017-03-23 01:08:02 +00:00
Nextcloud bot 756e8a988c [tx-robot] updated from transifex 2017-03-22 21:14:15 +00:00
Joas Schilling f5330ed33f Merge pull request #3981 from nextcloud/stable11-3974
[stable11] Fix reshare with user activity message
2017-03-22 10:05:08 +01:00
Nextcloud bot 025c9b7420 [tx-robot] updated from transifex 2017-03-22 01:08:03 +00:00
Joas Schilling 9dca9ff8cd Fix reshare with user activity message
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-21 16:56:37 -06:00
Lukas Reschke 5d8014fff2 Merge pull request #3969 from nextcloud/stable11-fix-branding
[stable11] Fix branding and show Nextcloud
2017-03-21 13:55:05 +01:00
Lukas Reschke a288c2e50a [stable11] Fix branding
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-21 12:22:51 +01:00
Nextcloud bot e195116332 [tx-robot] updated from transifex 2017-03-21 01:08:25 +00:00
Morris Jobke 0ae993b16b Merge pull request #3765 from nextcloud/backport-3725-mimetype-detection-on-public-uploads
[stable11] Fix mimetype detection on public uploads for the workflow engine
2017-03-20 13:10:01 -06:00
Nextcloud bot 7c51f9f25d [tx-robot] updated from transifex 2017-03-20 01:07:52 +00:00
Nextcloud bot 3ca60d3506 [tx-robot] updated from transifex 2017-03-19 01:08:29 +00:00
Nextcloud bot a32ef97e1a [tx-robot] updated from transifex 2017-03-18 01:07:59 +00:00
Nextcloud bot c34fb6bb6c [tx-robot] updated from transifex 2017-03-17 01:07:51 +00:00
Nextcloud bot 14dbdb4e71 [tx-robot] updated from transifex 2017-03-16 01:07:47 +00:00
Roeland Jago Douma 0f111c8854 Merge pull request #3849 from nextcloud/backport-3848-remove-single-quotes-around-search-query
Remove single quotes around search query like in user search
2017-03-15 15:04:50 +01:00
Joas Schilling bc7afb55b8 Remove single quotes around search query like in user search
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-15 13:01:33 +01:00
Morris Jobke e44f6e9235 Merge pull request #3842 from nextcloud/no-empty-wildcard-search-11
[11] dont allow empty wildcard search
2017-03-14 23:09:19 -06:00
Nextcloud bot 6d0e514f72 [tx-robot] updated from transifex 2017-03-15 01:07:58 +00:00
Robin Appelman dc467c74e9 dont allow empty wildcard search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-14 17:10:04 +01:00
Nextcloud bot f24d40881c [tx-robot] updated from transifex 2017-03-14 01:07:56 +00:00
Roeland Jago Douma 1278a96730 Merge pull request #3820 from nextcloud/stable11-dont-add-user-to-subadmin
[stable11] Call right function after sudo mode
2017-03-13 15:00:08 +01:00
Lukas Reschke ab550f2279 Call right function after sudo mode
This should call the `applyGroupSelect` and not the `applySubadminSelect`.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-13 12:24:05 +01:00
Nextcloud bot 68422fb926 [tx-robot] updated from transifex 2017-03-13 01:08:29 +00:00
Nextcloud bot 0c01440660 [tx-robot] updated from transifex 2017-03-12 01:08:15 +00:00
Nextcloud bot d917837b33 [tx-robot] updated from transifex 2017-03-11 01:07:57 +00:00
Nextcloud bot 5de9889b6f [tx-robot] updated from transifex 2017-03-10 01:08:12 +00:00
Roeland Jago Douma 080a1825f1 Merge pull request #3767 from nextcloud/backport-3287-appstore-config-flag
[stable11] Add back appstoreenabled config switch
2017-03-09 21:05:33 +01:00
Nextcloud bot 9c200c4f47 [tx-robot] updated from transifex 2017-03-09 01:07:58 +00:00
Morris Jobke 1710836764 Update autoloader code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-08 12:34:34 -06:00
Joas Schilling a557cc98b2 Merge pull request #3764 from nextcloud/backport-3757-no-subsystem-for-locking
[stable11] Add new user agent of windows 10 dav backend
2017-03-08 15:20:41 +01:00
Morris Jobke ba12ba7ed7 Fix unit tests and improve appstore logic
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-08 09:54:31 +01:00
Steffen Lindner d94e7f637f Add back appstoreenabled config switch
Signed-off-by: Steffen Lindner <mail@steffen-lindner.de>
2017-03-08 09:49:28 +01:00
Roeland Jago Douma 89df653ec8 Add ETag validation to appstore requests
* If the ETag if present store it
* If a stored ETag is present then pass it along (with the original
response) to get
* Add tests
* Added files to classmap

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-08 09:49:25 +01:00
Roeland Jago Douma bae5d4acfe Clear appstore cache on version upgrade
* Add version to cached json
* Compare version
* Updated calls
* Updated tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-08 09:47:19 +01:00
Joas Schilling 2203bdb4ff Fix mimetype detection on public uploads for the workflow engine
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-08 09:33:47 +01:00
Joas Schilling 12ac777bfd Set a status code when setting a body
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-08 09:30:56 +01:00
Joas Schilling f7f59ec145 Add new user agent of windows 10 dav backend
Thanks Microsoft

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-08 09:30:43 +01:00
Nextcloud bot d2687a0f1b [tx-robot] updated from transifex 2017-03-08 01:07:56 +00:00
Roeland Jago Douma 3332f11975 Merge pull request #3722 from nextcloud/backport-3678-dav-share-order-issue
[stable11] DAV sharing permissions should not depend on the order
2017-03-07 14:28:49 +01:00
Nextcloud bot 8cfd529ba0 [tx-robot] updated from transifex 2017-03-07 01:07:49 +00:00
Joas Schilling 5658404609 Merge pull request #3700 from nextcloud/stable11-3687
Use a proper date format for transfer ownership
2017-03-06 15:31:30 +01:00
Joas Schilling d9beea9428 Make sure shares use read-write when available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 09:49:18 +01:00
Joas Schilling 67da65f83b Add a unit test for the broken case
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 09:49:10 +01:00
Joas Schilling ba30fa0e10 Don't waste energy unless necessary
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 09:48:57 +01:00
Nextcloud bot 2ca0ada4c9 [tx-robot] updated from transifex 2017-03-06 01:08:07 +00:00
Nextcloud bot 2209e2364c [tx-robot] updated from transifex 2017-03-05 01:07:54 +00:00
Nextcloud bot 3bf5720192 [tx-robot] updated from transifex 2017-03-04 01:07:51 +00:00
Morris Jobke ddfc61146d Use a proper date format for transfer ownership
* on Windows : is not allowed as filename and doesn't get synced then
* uses 2017-03-02 22-00-00 instead of 2017-03-02T22:00:00+00:00 as format

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-03 10:46:33 -06:00
Nextcloud bot f03c2835a5 [tx-robot] updated from transifex 2017-03-03 01:07:55 +00:00
Nextcloud bot 2282e61e2e [tx-robot] updated from transifex 2017-03-02 16:49:01 +00:00
Joas Schilling 131fadfb60 Merge pull request #3675 from nextcloud/stable11-transifex-for-theming
[stable11] Transifex config for theming app
2017-03-02 09:26:47 +01:00
Roeland Jago Douma 15f6e8dc0a Merge pull request #3658 from GreenArchon/stable11_issue_#3461
[stable11] Typecast shared mount's storage_id to int as documented + some refactor to avoid similar bugs
2017-03-02 08:54:28 +01:00
Morris Jobke 0a4b4cb7f7 Transifex config for theming app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-01 22:05:52 -06:00
Nextcloud bot 077f071117 [tx-robot] updated from transifex 2017-03-02 01:07:41 +00:00
Morris Jobke 7e32aafca6 Merge pull request #3665 from nextcloud/fix-string-comparison-and-return-docs
Fix string comparison and return docs
2017-03-01 13:04:42 -06:00
Robin Appelman 1a5f8492e8 Merge pull request #3293 from nextcloud/streams52-11
update icewind/streams to 0.5.2
2017-03-01 15:40:03 +01:00
Joas Schilling 3516c52271 Fix string comparison and return docs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-01 13:42:41 +01:00
Nextcloud bot f0389fdcb6 [tx-robot] updated from transifex 2017-03-01 01:07:51 +00:00
Morris Jobke 8c2fea79cc Merge pull request #3652 from nextcloud/stable11-fix-saving-backup-codes
[stable11] Fix saving backup codes by using a correct data uri
2017-02-28 15:53:53 -06:00
Robin Appelman 75f0e17ae7 update icewind/streams to 0.5.2
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-28 12:39:41 -06:00
Christoph Wurst 02e41c9b50 Fix saving backup codes by using a correct data uri
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-02-28 10:45:40 +01:00
Nextcloud bot c7735006b8 [tx-robot] updated from transifex 2017-02-28 01:08:03 +00:00
Lukas Reschke fbc5bb45a7 Merge pull request #3608 from nextcloud/backport-3598-shared-addressbooks-fail-on-legacy-endpoint
[stable11] Use the correct principal for shared addressbooks
2017-02-27 21:07:27 +01:00
Nextcloud bot c2e88c6f44 [tx-robot] updated from transifex 2017-02-27 01:19:59 +00:00
Lukas Reschke f299c9b2f4 Increase patch version
Due to a bug in the release script it already included https://github.com/nextcloud/3rdparty/pull/33

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-26 20:40:48 +01:00
Lukas Reschke 54d0938c50 v11.0.2
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-26 19:39:38 +01:00
Nextcloud bot 5c46a594d3 [tx-robot] updated from transifex 2017-02-26 01:24:22 +00:00
Nextcloud bot 6d5a916729 [tx-robot] updated from transifex 2017-02-25 01:25:18 +00:00
Frédéric Fortier 198cd4f83e Refactor files' CacheEntry object creation to call cacheEntryFromData() all the time thus allowing proper casts to be done
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-24 12:09:46 -05:00
Frédéric Fortier 0f3cf7fee8 Typecast filecache 'storage' as int to return it as documented, fixes #3461
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-24 12:09:40 -05:00
Joas Schilling 664f802b92 Use the correct principal for shared addressbooks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-24 10:05:17 +01:00
Nextcloud bot 8d23569b92 [tx-robot] updated from transifex 2017-02-24 01:21:48 +00:00
Nextcloud bot 13a5fddd11 [tx-robot] updated from transifex 2017-02-23 01:18:59 +00:00
Nextcloud bot e00a786900 [tx-robot] updated from transifex 2017-02-22 01:12:35 +00:00
Lukas Reschke da47b362ff Merge pull request #3552 from nextcloud/rc3-it-is
v11.0.2 RC3
2017-02-21 21:38:43 +01:00
Lukas Reschke b7e56a8a0a Merge pull request #3560 from nextcloud/fix-misleading-wording-stable11
[stable11] Fix misleading wording: searching is affected, not user access
2017-02-21 21:38:09 +01:00
Nextcloud bot cd270b8e7e [tx-robot] updated from transifex 2017-02-21 01:08:55 +00:00
Arthur Schiwon 6625b48213 Fix misleading wording: searching is affected, not user access.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-20 22:38:13 +01:00
Lukas Reschke d69a3c2ec9 v11.0.2 RC3
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-20 21:35:52 +01:00
Lukas Reschke db7d7a903a Merge pull request #3528 from nextcloud/backport-3521
[stable11] Backport of Fix Broken UUID Attribute Detection #3521
2017-02-20 21:34:13 +01:00
Arthur Schiwon f9b2574fb8 also adjust version no in unit tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-20 17:29:31 +01:00
Nextcloud bot d0fbc581a6 [tx-robot] updated from transifex 2017-02-20 01:07:46 +00:00
Nextcloud bot 521aabda2f [tx-robot] updated from transifex 2017-02-19 01:07:46 +00:00
Nextcloud bot 7f45cf5782 [tx-robot] updated from transifex 2017-02-18 01:08:33 +00:00
Arthur Schiwon f58796e21c Backport of Fix Broken UUID Attribute Detection #3521
Fix integration test by not relying on Fake instances

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

Fix determining the UUID attribute, default of the override is null

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

add integration test for uuid attr detection

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

Add repair steps

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

Background jobs can take 4k of characters only. We find a good batch size.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

add tests to DB group

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-17 22:00:28 +01:00
Nextcloud bot 2504ff1f41 [tx-robot] updated from transifex 2017-02-17 01:08:07 +00:00
Lukas Reschke 401d07d2b0 Increase patchlevel to 4
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-17 01:15:06 +01:00
Lukas Reschke f643b7b763 Merge pull request #3519 from nextcloud/final-stable11-version
11.0.2 version number
2017-02-17 01:11:10 +01:00
Lukas Reschke dd2727aeba 11.0.2 version number
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-17 00:38:36 +01:00
Lukas Reschke 0f6d2433d1 Bump minor version
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-17 00:05:18 +01:00
Lukas Reschke d2831c1967 Merge pull request #3512 from nextcloud/beta2-it-is
RC2 it is
2017-02-16 23:02:07 +01:00
Lukas Reschke 04718fa182 Merge pull request #3510 from nextcloud/backport-2704-stable11
[stable11] fix printing backup codes
2017-02-16 23:01:56 +01:00
Morris Jobke 6431f009de Merge pull request #3511 from nextcloud/backport-3362-stable11
[stable11] Fix cookie name (nc_token instead of oc_token)
2017-02-16 11:33:02 -06:00
Morris Jobke cc226b183f Merge pull request #3493 from nextcloud/backport-3324
[stable11] LDAP's checkPassword should only catch when a user was not found
2017-02-16 11:32:37 -06:00
Morris Jobke c868e37346 Merge pull request #3508 from nextcloud/nullstorage-free-space-11
[11] return unknown free space from nullstorage
2017-02-16 10:53:06 -06:00
Morris Jobke 48554db156 fix unit tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-16 10:29:45 -06:00
Lukas Reschke 92bfeb2eb6 RC2 it is
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-16 16:40:06 +01:00
Christoph Wurst c6071e027c Fix cookie name (nc_token instead of oc_token)
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-02-16 16:27:20 +01:00
Christoph Wurst 757949eec3 add title to backup codes print page
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-02-16 16:14:58 +01:00
Christoph Wurst 41522306ed print and close the new tab, not the current one when printing backup codes
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-02-16 16:14:49 +01:00
Morris Jobke 131945593e Fix unit tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-16 13:38:54 +01:00
Robin Appelman 8cf62e21b5 return unknown free space from nullstorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-16 13:38:45 +01:00
Nextcloud bot 8296f1a35b [tx-robot] updated from transifex 2017-02-16 01:07:53 +00:00
Morris Jobke 88720f3565 Merge pull request #3499 from nextcloud/fix-addressbook-deletion
[stable11] Address book data lost when any user receiving a share is deleted backport
2017-02-15 18:37:05 -06:00
Roeland Jago Douma 17d57f336d Merge pull request #3500 from nextcloud/stable11-3403
[stable11] Rename database password toggle
2017-02-15 20:15:38 +01:00
Morris Jobke aeefcfe8a2 Merge pull request #3494 from nextcloud/backport-3485
[stable11] Popovermenu files css fix
2017-02-15 10:29:28 -06:00
Morris Jobke f59e0ed4ca Rename database password toggle
* otherwise submitting the form with the password show will be overwritten
* see https://github.com/nextcloud/server/blob/2c9d7eeb763d2f907eea8234f6c60a829a5d39f7/core/Controller/SetupController.php#L59
* seems to be a legacy fallback
* fixes #3381

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-15 10:14:07 -06:00
John Molakvoæ (skjnldsv) 6923821964 Address book data lost when any user receiving a share is deleted backport
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-02-15 16:09:00 +01:00
John Molakvoæ (skjnldsv) 07da606caa Css fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-02-15 12:34:54 +01:00
Arthur Schiwon 839f2342da LDAP's checkPassword should only catch when a user was not found, fixes #2431
Also fixes error processing after ldap_search, due to different return format

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-02-15 11:50:36 +01:00
Nextcloud bot d41b2d688c [tx-robot] updated from transifex 2017-02-15 01:07:38 +00:00
Morris Jobke 4e9f59dab2 Merge pull request #3481 from nextcloud/stable11-screensharing-icon
[stable11] add screensharing icon
2017-02-14 17:40:22 -06:00
Jan-Christoph Borchardt 9c1573d278 add screensharing icon
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-02-14 21:04:36 +01:00
Nextcloud bot 33c995bc47 [tx-robot] updated from transifex 2017-02-14 01:07:30 +00:00
Lukas Reschke bd3c99057b Merge pull request #3440 from nextcloud/backport-oc-26963
[stable11] Make sure invalid images don't flood the log file
2017-02-13 10:13:16 +01:00
Lukas Reschke 9ba080f5f8 Merge pull request #3445 from nextcloud/stable11-add-integration-tests-for-dav
[stable11] Add integration tests for legacy DAV endpoints
2017-02-13 10:11:28 +01:00
Nextcloud bot 2cb637ec85 [tx-robot] updated from transifex 2017-02-13 01:07:19 +00:00
Nextcloud bot 1e668ec02b [tx-robot] updated from transifex 2017-02-12 01:07:36 +00:00
Nextcloud bot 61420af20c [tx-robot] updated from transifex 2017-02-11 01:07:33 +00:00
Victor Dubiniuk 02a7e3f6d2 Check if color exists in palette before using it
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-10 16:28:32 +01:00
Lukas Reschke 886938718d Add integration tests for legacy DAV endpoints
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-10 16:19:45 +01:00
Lukas Reschke f65b99c17d Merge pull request #3431 from nextcloud/backport-3430-fix-ios-client-detection
[stable11] Fix detection of the new iOS app
2017-02-10 14:45:54 +01:00
Lukas Reschke c025aa88d4 Merge pull request #3436 from nextcloud/stable11-increase-version
Increase version to 11.0.2 RC1
2017-02-10 14:03:49 +01:00
Joas Schilling 057f330879 Make sure invalid images don't flood the log file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-10 13:45:37 +01:00
Lukas Reschke 592af1fff1 Merge pull request #3259 from nextcloud/add-profile-data-to-provisioning-api-stable11
Add profile data to provisioning api stable11
2017-02-10 13:00:04 +01:00
Lukas Reschke 347008f125 Increase version to 11.0.2 RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-10 12:55:32 +01:00
Lukas Reschke 3f290315ef Merge pull request #3433 from nextcloud/backport-3181-fix-favorite-activity-mail
[stable11] Make sure the file information is available when sending the email
2017-02-10 12:49:39 +01:00
Lukas Reschke 7330430618 Merge pull request #3426 from nextcloud/stable11-set-vendor-during-install
[stable11] Set vendor during install
2017-02-10 11:41:06 +01:00
Lukas Reschke 020bf77dde Merge pull request #3286 from nextcloud/popover-backport
[stable11] popovermenu backport
2017-02-10 11:27:03 +01:00
Lukas Reschke 0cb59ad3f5 Merge pull request #3412 from nextcloud/backport-3394-files-activity-expects-parameter-1-to-be-an-array
[stable11] Make sure ownCloud 8.2 activities also can get displayed
2017-02-10 10:44:14 +01:00
Joas Schilling 372474603d Make sure the file information is available when sending the email
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-10 10:35:29 +01:00
Joas Schilling 76a2bf72e6 Fix detection of the new iOS app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-10 10:13:33 +01:00
Morris Jobke 5c1bf139b4 Merge pull request #3414 from nextcloud/backport-3396-dont-log-password-on-failed-confirmation
[stable11] Don't log the password on confirmPassword when LDAP throws an exception
2017-02-10 00:08:47 -06:00
Morris Jobke 020fa06d34 Merge pull request #3411 from nextcloud/backport-3407-user-settings-email-accounts-table
[stable11] Update the email in the accounts table as well
2017-02-09 23:52:41 -06:00
Morris Jobke c6ed15b88e Set vendor during install
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-09 23:39:58 -06:00
Morris Jobke eb31895ad5 Merge pull request #3423 from nextcloud/stable11-transifex
add transifex config for sharebymail
2017-02-09 20:14:24 -06:00
Morris Jobke e48f608b08 add transifex config for sharebymail
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-09 19:56:04 -06:00
Nextcloud bot 3aeed578fc [tx-robot] updated from transifex 2017-02-10 01:07:12 +00:00
Joas Schilling 1ee9bee489 Backport more fixes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 14:53:17 +01:00
Lukas Reschke 201055bf8c Merge pull request #3251 from nextcloud/fix-upload-estimation-translation
Use correct plural implementation for upload estimation
2017-02-09 14:45:46 +01:00
Joas Schilling 8d87ac3a9d Don't log the password on confirmPassword when LDAP throws an exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:20:53 +01:00
Joas Schilling 1badbe922e Fix files sharing legacy as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:17:22 +01:00
Joas Schilling fb3821406a Add tests for getUser()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:15:53 +01:00
Joas Schilling b89e2ecd05 Add tests for getFile()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:15:44 +01:00
Joas Schilling 0f823b654a Make sure ownCloud 8.2 activities also can get displayed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:15:36 +01:00
Joas Schilling 0ec38e2cf3 Update the email in the accounts table as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-09 12:13:27 +01:00
Nextcloud bot acc759e0c9 [tx-robot] updated from transifex 2017-02-09 01:07:20 +00:00
Joas Schilling d8916ddfd8 Merge pull request #3400 from nextcloud/backport-3023-filter-out-sensitive-appconfigs
[stable11] Filter out sensitive appconfig values
2017-02-08 12:10:13 +01:00
Lukas Reschke e803d8b00d Merge pull request #3399 from nextcloud/backport-3163-wrong-page-title-on-non-nonce-browser
[stable11] Use correct theming when returning the defaults
2017-02-08 10:10:27 +01:00
Nextcloud bot dfe4491b00 [tx-robot] updated from transifex 2017-02-08 01:07:18 +00:00
Morris Jobke 2c4f8089b0 Merge pull request #3363 from nextcloud/fix/2787/busy_also_for_creator_bug_stable11
fix shared-as-busy events for owner
2017-02-07 16:03:41 -06:00
Morris Jobke 98e99cf7ca Merge pull request #3397 from nextcloud/backport-3359-fix-sharing-app-description
[stable11] Fix Sharing app description
2017-02-07 10:47:33 -06:00
Joas Schilling cf849e621b Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 17:00:10 +01:00
Joas Schilling 7c366f1602 Filter out sensitive appconfig values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 16:59:59 +01:00
Joas Schilling 7917ae7c23 Use correct theming when returning the defaults
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 16:57:30 +01:00
Joas Schilling 0cb057e256 Fix Sharing app description
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 14:34:48 +01:00
Nextcloud bot cd82be929d [tx-robot] updated from transifex 2017-02-07 01:09:03 +00:00
Nextcloud bot aa124646d2 [tx-robot] updated from transifex 2017-02-06 01:07:13 +00:00
Nextcloud bot 335f2087a3 [tx-robot] updated from transifex 2017-02-05 01:07:13 +00:00
Nextcloud bot 69f0bfb2c1 [tx-robot] updated from transifex 2017-02-04 01:07:29 +00:00
Georg Ehrke d398de5c6a fix shared-as-busy events for owner
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-02-03 11:08:13 +01:00
Nextcloud bot 8d12c43556 [tx-robot] updated from transifex 2017-02-03 01:07:30 +00:00
Nextcloud bot d71e472ab6 [tx-robot] updated from transifex 2017-02-02 01:07:13 +00:00
Nextcloud bot 44264daa42 [tx-robot] updated from transifex 2017-02-01 01:07:06 +00:00
Nextcloud bot 97a4688580 [tx-robot] updated from transifex 2017-01-31 01:07:13 +00:00
Nextcloud bot 6ab21c2e94 [tx-robot] updated from transifex 2017-01-30 01:07:22 +00:00
Nextcloud bot ea51c2fc12 [tx-robot] updated from transifex 2017-01-29 01:07:03 +00:00
Nextcloud bot 89cd31bd0f [tx-robot] updated from transifex 2017-01-28 01:07:09 +00:00
Nextcloud bot edb9d83658 [tx-robot] updated from transifex 2017-01-27 01:07:28 +00:00
John Molakvoæ (skjnldsv) 9e7afbf6cb Fit newFileMenu to css guidelines
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-01-26 18:32:25 +01:00
John Molakvoæ (skjnldsv) 0b83a25208 Fit federationScopeMenu to guidelines
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-01-26 18:32:25 +01:00
John Molakvoæ (skjnldsv) aa636f0450 Popover backport from 12
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-01-26 18:32:25 +01:00
Bjoern Schiessle 757f1b922c make sure that 'getCurrentUser' gets an array in order to manipulate the data to match the old API
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-26 11:34:07 +01:00
Morris Jobke 475e466d58 Merge pull request #3213 from nextcloud/ldap-ocs-stable11
[stable] 11 LDAP OCS API
2017-01-25 22:50:27 -06:00
Morris Jobke 66efe66580 Merge pull request #3115 from nextcloud/backport-3106-spreed-calls-are-objects
[stable11] Define spreed calls
2017-01-25 22:07:32 -06:00
Nextcloud bot 6b3ddd5ccd [tx-robot] updated from transifex 2017-01-26 01:07:27 +00:00
Bjoern Schiessle 659320dfca unify endpoints form core and the the provisioning api
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-25 14:19:41 +01:00
Bjoern Schiessle c4ae0cd433 add data from the users profile to the provisioning api
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-25 14:17:18 +01:00
Joas Schilling 1ae01c5eb5 Use correct plural implementation for upload estimation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-25 10:22:35 +01:00
Nextcloud bot 026ceab35f [tx-robot] updated from transifex 2017-01-25 01:10:10 +00:00
Nextcloud bot 175435c76b [tx-robot] updated from transifex 2017-01-24 01:07:25 +00:00
Arthur Schiwon 9299c9fc79 LDAP OCS API (Part 1)
LDAP OCS Api for create config

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

LDAP OCS Api for delete config

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

fix and extend behat tests

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

add LDAP OCS Api for modifying a configuration

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

test against OCS v2 instead

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

LDAP OCS Api for show config

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

also, let ldap integration tests run

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

fix indentation

Signed-off-by: Morris Jobke <hey@morrisjobke.de>

enable user_ldap app for tests

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

LDAP PUT command now supports setting multiple keys at once

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

fix deletion for configIDs < s10

Also move ensureConfigIDExists checks into try, it might throw DB
related exceptions

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

remove outdated scenario

covered by "Delete a non-existing configuration"

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-01-23 14:24:10 +01:00
Joas Schilling 275db05a46 Merge pull request #2953 from nextcloud/backport-2797-sudo-password-with-ldap
[stable11] Use login name to fix password confirm with ldap users
2017-01-23 12:09:38 +01:00
Nextcloud bot 34fff32409 [tx-robot] updated from transifex 2017-01-23 00:17:48 +00:00
Nextcloud bot 948ab09a18 [tx-robot] updated from transifex 2017-01-22 01:08:00 +00:00
Nextcloud bot 8c4a329b6d [tx-robot] updated from transifex 2017-01-21 01:07:55 +00:00
Nextcloud bot f6b42901dc [tx-robot] updated from transifex 2017-01-20 01:07:49 +00:00
Nextcloud bot 623ea04317 [tx-robot] updated from transifex 2017-01-19 01:08:17 +00:00
Christoph Wurst ecb6354933 Merge pull request #3138 from nextcloud/backport-2776-prevent-quotes-from-being-a-problem
[stable11] Escape the name for the jquery selector
2017-01-18 17:52:56 +01:00
Morris Jobke 98aa4557f6 Merge pull request #3143 from senden9/patch-2
Fix style in comment.
2017-01-18 10:33:25 -06:00
Stefano Probst 90bd4b1fc1 Fix style in comment.
Add missing grave accent to fix the highlighting in the documentation.
2017-01-18 16:42:11 +01:00
Joas Schilling d17635b502 Escape the name for the jquery selector
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-18 09:08:13 +01:00
Nextcloud bot 0c8220d57e [tx-robot] updated from transifex 2017-01-18 01:07:47 +00:00
Joas Schilling 6eb31b5639 Merge pull request #3117 from nextcloud/backport-1594-markdown-support-for-app-descriptions
[stable11] Markdown support for app descriptions
2017-01-17 16:32:13 +01:00
Morris Jobke 4158f386b5 add a bit of space around paragraphs
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-17 11:38:09 +01:00
Morris Jobke bc604299b5 fix list style of app description
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-17 11:37:50 +01:00
Joas Schilling e05f53e018 Allow ordered lists as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:37:37 +01:00
Lukas Reschke a30d170aca Manually whitelist tags
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-17 11:37:26 +01:00
Lukas Reschke 2382bf9011 Apply DOMPurify over HTML
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-17 11:37:16 +01:00
Morris Jobke 45c12d26ce Fix JSUnit tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-17 11:37:06 +01:00
Joas Schilling 964d7b2389 Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:57 +01:00
Joas Schilling a21dfdf8e7 Don't render non HTTP links, images and quotes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:49 +01:00
Joas Schilling 832007a993 Fix "broken" app descriptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:40 +01:00
Joas Schilling de1a89a12b Remove the magic parsing of the description
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:32 +01:00
Joas Schilling eb94f748c8 Render markdown
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:23 +01:00
Joas Schilling 33644d9da3 Add marked
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:36:10 +01:00
Joas Schilling 1bbbbde7f2 Add call-type in case the information shall be used for styling or something else in the future
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:14:44 +01:00
Joas Schilling 5336f952eb Define spreed calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-17 11:14:36 +01:00
Nextcloud bot cbc76a1ccb [tx-robot] updated from transifex 2017-01-17 01:08:03 +00:00
Morris Jobke d27f36f5d3 Merge pull request #3080 from nextcloud/share-by-mail-use-display-name-stable11
[stable11] generate correct path for owner and use the display name
2017-01-16 11:02:23 -06:00
Morris Jobke 88cb3c7cbd Merge pull request #3063 from nextcloud/backport-3051-change-row-format-before-collation
[stable11] Change the row-format before changing the collation
2017-01-16 10:45:10 -06:00
Bjoern Schiessle 84ae958c12 generate correct path for owner and use the display name instead of the user id
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-16 12:31:09 +01:00
Nextcloud bot f044edaadc [tx-robot] updated from transifex 2017-01-16 01:15:59 +00:00
Lukas Reschke 34e7a72257 Bump to 11.0.1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-15 16:49:00 +01:00
Joas Schilling b7117d0b10 Change the row-format before changing the collation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-13 14:35:02 +01:00
Nextcloud bot fc2a2c3ee9 [tx-robot] updated from transifex 2017-01-12 01:07:53 +00:00
Nextcloud bot 685381f3a1 [tx-robot] updated from transifex 2017-01-11 15:20:31 +00:00
Joas Schilling fb4224c723 Merge pull request #3010 from nextcloud/backport-3009-fix-calendar-todo-event-type
[stable11] Make sure the used event type and the setting/filter are the same
2017-01-10 16:49:23 +01:00
Roeland Jago Douma 0474abe5c7 Merge pull request #3011 from nextcloud/backport-2951-handle-nextcloud-log-type-gracefully
[stable11] Handle log_type "nextcloud" more gracefully
2017-01-10 15:47:33 +01:00
Joas Schilling 78e685ce8f Better fallback for unknown log types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-10 13:01:00 +01:00
Joas Schilling acf62afe2d Add tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-10 13:00:47 +01:00
Joas Schilling b61486efca Handle log_type "nextcloud" more gracefully
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-10 13:00:35 +01:00
Joas Schilling 73e93d11c2 Make sure the used event type and the setting/filter are the same
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-10 12:34:13 +01:00
Morris Jobke 90c5912eec Merge pull request #2980 from nextcloud/backport-2930-kill-group-restriction-when-not-applicable
[stable11] Remove group restrictions when those are not allowed anymore
2017-01-10 09:59:57 +01:00
Morris Jobke 97788f1533 Merge pull request #2994 from nextcloud/stable11_2987
dont write a certificate bundle if the shipped ca bundle is empty
2017-01-10 09:57:03 +01:00
Christoph Wurst ca81eb01ac Merge pull request #2993 from nextcloud/stable11-rc1
Increase version to 11.0.1 RC1
2017-01-09 22:30:52 +01:00
Robin Appelman daa4f393cb dont write a certificate bundle if the shipped ca bundle is empty
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-09 21:11:50 +01:00
Lukas Reschke 048617a5a5 Increase version to 11.0.1 RC1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-09 21:11:17 +01:00
Roeland Jago Douma 120009f7a5 Merge pull request #2981 from nextcloud/backport-2854-2fa-redirect-url
[stable11] Set redirect_url on 2FA challenge page
2017-01-09 19:37:16 +01:00
Morris Jobke ea8617fc8f Merge pull request #2988 from nextcloud/backport-2933-dont-link-to-oc-forum
[stable11] Don't link to the oC forum
2017-01-09 18:38:25 +01:00
Joas Schilling 564740d2d4 Don't link to the oC forum
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-09 14:57:47 +01:00
Christoph Wurst 2625b6297b Set redirect_url on 2FA challenge page
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-09 10:42:23 +01:00
Joas Schilling f5310c0c26 Remove group restrictions when those are not allowed anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-09 10:21:16 +01:00
Nextcloud bot 639391717d [tx-robot] updated from transifex 2017-01-09 08:25:08 +00:00
Joas Schilling a3d8442835 Remove warning
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 15:16:32 +01:00
Joas Schilling 1179471e41 Fix tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 15:16:24 +01:00
Joas Schilling 5339d216e3 Make sure the loginname is set when logging in via cookie
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 15:16:18 +01:00
Joas Schilling 15d6a13cfb Use login name to fix password confirm with ldap users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 15:16:08 +01:00
Nextcloud bot 2c2c4cc6c7 [tx-robot] updated from transifex 2017-01-05 13:10:01 +00:00
Morris Jobke 7f648905b3 Merge pull request #2949 from nextcloud/backport-2677-fix-avatars-in-mail
[stable11] Don't set Content-Disposition header if one already exists
2017-01-05 13:27:34 +01:00
Lukas Reschke adef282c44 Don't set Content-Disposition header if one already exists
If a Content-Disposition header is already set by another plugin we don't need to set another one as this breaks clients.

Fixes https://github.com/nextcloud/server/issues/1992

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-05 12:22:27 +01:00
Nextcloud bot 4f8329c95a [tx-robot] updated from transifex 2017-01-04 12:09:51 +00:00
Nextcloud bot 14bc90df9e [tx-robot] updated from transifex 2017-01-03 01:07:56 +00:00
Nextcloud bot c9039a59aa [tx-robot] updated from transifex 2017-01-02 01:07:41 +00:00
Nextcloud bot 93d0cb220a [tx-robot] updated from transifex 2017-01-01 01:07:38 +00:00
Nextcloud bot fba1008d19 [tx-robot] updated from transifex 2016-12-31 01:08:44 +00:00
Roeland Jago Douma d41721b14e Merge pull request #2882 from nextcloud/stable11-update
Increase version to 11.0.1
2016-12-30 21:37:30 +01:00
Nextcloud bot 768f1cf533 [tx-robot] updated from transifex 2016-12-30 01:07:36 +00:00
Lukas Reschke 5bf56f67be Increase version to 11.0.1
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-29 18:36:31 +01:00
Nextcloud bot a2b45c3cb7 [tx-robot] updated from transifex 2016-12-29 01:08:08 +00:00
Nextcloud bot a4c85c76a9 [tx-robot] updated from transifex 2016-12-28 01:07:49 +00:00
Nextcloud bot ca6d8c5eba [tx-robot] updated from transifex 2016-12-27 01:07:48 +00:00
Nextcloud bot 015408fc3a [tx-robot] updated from transifex 2016-12-26 01:09:33 +00:00
Morris Jobke 43dcc686bd Merge pull request #2825 from nextcloud/stable11-2659
[stable11] Fix overwriting parameter
2016-12-22 14:47:40 +01:00
Roeland Jago Douma 64ea055f59 Merge pull request #2804 from nextcloud/backport-2752-firefox-password-completion
[stable11] Use a form so firefox doesn't try to save the space as a password
2016-12-22 14:42:15 +01:00
Morris Jobke a581e2fab3 Merge pull request #2751 from nextcloud/backport-2643-apps-buttons-wording
[stable11] fix wording for apps mgmt buttons
2016-12-22 14:39:16 +01:00
Morris Jobke b03876ac41 Merge pull request #2750 from nextcloud/backport-2671-reduce-log-level-on-database-user-creation
[stable11] Only log as info when we can not create a new DB user
2016-12-22 14:33:41 +01:00
Roeland Jago Douma 1339e51585 Fix overwriting parameter
Fixes #2641

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-22 14:02:55 +01:00
Lukas Reschke 40d802549c Merge pull request #2807 from nextcloud/stable11-2273
[stable11] Add DAV repair step to fix calendar data
2016-12-22 10:12:54 +01:00
Lukas Reschke 55782a677c Merge pull request #2809 from nextcloud/stable11-2757
[stable11] Also check in cron for old php version
2016-12-22 10:07:34 +01:00
Roeland Jago Douma b322078f8f Also check in cron for old php version
Fixes #2756

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-21 20:34:46 +01:00
Roeland Jago Douma 3649d86b65 Add DAV repair step to fix calendar data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-21 20:30:27 +01:00
Morris Jobke cd4b15b5af Merge pull request #2805 from nextcloud/stable11-2714
[stable11] Changed anchor
2016-12-21 17:57:41 +01:00
amittel a1779827c5 Changed anchor
from `avatar` to `personal-settings`

fixes #2711
2016-12-21 17:09:04 +01:00
Joas Schilling f7ba86884a Use a form so firefox doesn't try to save the space as a password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-21 16:55:01 +01:00
Morris Jobke 62cbaa0227 Merge pull request #2793 from nextcloud/stable11-update-drone-images
[stable11] update drone images to latest version
2016-12-21 15:52:06 +01:00
Morris Jobke df7c4743f4 [stable11] update drone images to latest version
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-12-20 23:35:03 +01:00
Jan-Christoph Borchardt c86f779e4a fix wording for apps mgmt buttons
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2016-12-19 11:54:38 +01:00
Joas Schilling c4e93cbb49 Only log as info when we can not create a new DB user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-19 11:51:25 +01:00
Roeland Jago Douma 391f3ea5d9 Merge pull request #2746 from nextcloud/backport-2625
[stable11] Fix todo list activity filter
2016-12-19 11:21:07 +01:00
Roeland Jago Douma 29cc292e2a Fix TodoTest
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-19 09:48:08 +01:00
Joas Schilling a1210fe5b0 Fix the Todos filter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-19 09:47:11 +01:00
Roeland Jago Douma 7a52f1dd3f Merge pull request #2703 from nextcloud/enoch85-patch-2
[11] Do not connect to database before creating it
2016-12-16 15:03:23 +01:00
Lukas Reschke 80ab69ba3f Merge pull request #2696 from nextcloud/shared-scanner-unmasked-11
[11] use unmasked permissions in shared scanner
2016-12-16 13:15:07 +01:00
Lukas Reschke 3f20302a01 Merge pull request #2685 from nextcloud/stable11-2648
[stable11] Fix legacy DAV endpoint
2016-12-16 11:47:44 +01:00
Roeland Jago Douma b452e250e0 Fix legacy caldav endpoints
* CaldavBackend is now endpoint aware (use old style principals on old
endpoint and new onces on new).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-15 20:12:10 +01:00
Joas Schilling fd0283ca97 Do not connect to database before creating it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-15 18:27:35 +01:00
Robin Appelman be09724a3e Add integration tests for uploading files to a permission limited share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-15 15:58:56 +01:00
Robin Appelman 5290eee9ec use unmasked permissions in shared scanner
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-15 15:58:49 +01:00
Lukas Reschke 69f0977686 Add test execution against legacy DAV backend
Since the tests to quite hugely rely on sync tokens being present I also included those in the legacy backend.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-15 11:19:59 +01:00
Lukas Reschke d5c70fae07 Merge pull request #2669 from nextcloud/stable11-one-gotta-love-apples-regressions
[stable11] Safari CSPv3 support is sub-par
2016-12-14 16:57:52 +01:00
Lukas Reschke 6796c911dc Safari CSPv3 support is sub-par
With 10.0.1 CSPv3 is broken in Safari if it doesn't run from a local IP. Awesome.

=> Let's remove this for Safari and keep chrome and Firefox in the whitelist.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-14 13:19:19 +01:00
14307 changed files with 808238 additions and 1328388 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"directory": "core/vendor"
}
+11
View File
@@ -0,0 +1,11 @@
codecov:
branch: master
coverage:
precision: 2
round: down
range: "70...100"
comment:
layout: "header, diff, changes, uncovered, tree"
behavior: default
-89
View File
@@ -1,89 +0,0 @@
FROM ubuntu:noble
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.3 \
php8.3-common \
php8.3-gd \
php8.3-zip \
php8.3-curl \
php8.3-xml \
php8.3-xmlrpc \
php8.3-mbstring \
php8.3-sqlite \
php8.3-xdebug \
php8.3-pgsql \
php8.3-intl \
php8.3-imagick \
php8.3-gmp \
php8.3-apcu \
php8.3-bcmath \
php8.3-redis \
php8.3-soap \
php8.3-imap \
php8.3-opcache \
php8.3-cli \
php8.3-dev \
libmagickcore-6.q16-7-extra \
curl \
lsof \
make \
unzip
# Composer
RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
curl -sS https://composer.github.io/installer.sig -o /tmp/composer-setup.sig && \
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') !== trim(file_get_contents('/tmp/composer-setup.sig'))) { echo 'Composer installation failed, invalid hash'; exit(1); }" && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.3/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.3/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/apache2/php.ini
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
sed -ri "s/^export APACHE_RUN_GROUP=.*$/export APACHE_RUN_GROUP=${APACHE_RUN_GROUP}/" "/etc/apache2/envvars"
USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
WORKDIR /var/www/html
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-76
View File
@@ -1,76 +0,0 @@
<!--
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud DevContainer
## Usage
Make sure you have the [VSCode DevContainer](https://code.visualstudio.com/docs/devcontainers/containers) extensions installed. If you open the project, VSCode will ask you if you want to open it inside of the DevContainer. If that's not the case, use <kbd>F1</kbd>&rarr;*Dev Containers: Open Folder in Container*.
Alternatively open the project directly in [GitHub Codespaces](https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=60243197&skip_quickstart=true).
That's already it. Everything else will be configured automatically by the Containers startup routine.
## Credentials
On first start the Container installs and configures Nextcloud with the following credentials:
**Nextcloud Admin Login**
Username: `admin` <br>
Password: `admin`
**Postgres credentials**
Username: `postgres` <br>
Password: `postgres` <br>
Database: `postgres`
## Services
The following services will be started:
| Service | Local port | Description |
|---------|------------|-------------|
| Nextcloud (served via Apache) | `80` | The main application |
| Mailhog | `8025` | SMTP email delivery for testing |
| Adminer | `8080` | Database viewer. Use credentials from above and connect to `localhost` to get access to the NC database |
## Permissions
The container runs with the user `devcontainer` who is also running the Apache2 process. All mounted source files have
proper permissions so that this user can access everything which is inside the current workspace. If you need to
get root permissions for whatever reason, use `sudo su` or `sudo <command>` (for example `sudo service apache2 restart`).
Everything else (like building the application, adjusting files, ...) should be done as `devcontainer` user.
## NodeJs and NVM
The container comes with [`nvm`](https://github.com/nvm-sh/nvm) and Node 16 installed. This should be sufficient to
build Nextcloud Core sources via `make`. If you need a different Node Version (for example for
app development), you can easily switch between different versions by running:
```bash
# Install and use Node 14
nvm install 14
nvm use 14
# Check version
node -v
# Switch back to Node 16
nvm use 16
# Check version
node -v
```
Note that `nvm` is only installed for the user `devcontainer` and won't work out of the box for
any other user.
## Debugging
The Apache webserver is already configured to automatically try to connect to a debugger process
listening on port `9003`. To start the VSCode debugger process, use the delivered debug profile `Listen for XDebug`.
After you started the VSCode debugger, just navigate to the appropriate Nextcloud URL to get your
debug hits.
-26
View File
@@ -1,26 +0,0 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
$codespaceName = getenv('CODESPACE_NAME');
$codespaceDomain = getenv('GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN');
$CONFIG = [
'mail_from_address' => 'no-reply',
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => 'example.com',
'mail_smtphost' => 'localhost',
'mail_smtpport' => '1025',
'memcache.local' => '\OC\Memcache\APCu',
];
if(is_string($codespaceName) && !empty($codespaceName) && is_string($codespaceDomain) && !empty($codespaceDomain)) {
$host = $codespaceName . '-80.' . $codespaceDomain;
$CONFIG['overwritehost'] = $host;
$CONFIG['overwrite.cli.url'] = 'https://' . $host;
$CONFIG['overwriteprotocol'] = 'https';
$CONFIG['trusted_domains'] = [ $host ];
}
-28
View File
@@ -1,28 +0,0 @@
{
"name": "NextcloudServer",
"dockerComposeFile": "docker-compose.yml",
"service": "nextclouddev",
"postCreateCommand": ".devcontainer/setup.sh",
"postStartCommand": ".devcontainer/postStart.sh",
"forwardPorts": [
80,
8080,
8025
],
"customizations": {
"vscode": {
"extensions": [
"felixfbecker.php-debug",
"felixfbecker.php-intellisense",
"ms-azuretools.vscode-docker",
"xdebug.php-debug",
"donjayamanne.githistory"
],
"settings": {
"php.suggest.basic": false
}
}
},
"workspaceFolder": "/var/www/html",
"remoteUser": "devcontainer"
}
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-38
View File
@@ -1,38 +0,0 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
volumes:
- .:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/var/www/html
command: /var/www/html/.devcontainer/entrypoint.sh
ports:
- 80:80
- 8080:8080
- 8025:8025
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
adminer:
image: adminer
restart: always
network_mode: service:nextclouddev
mailhog:
image: mailhog/mailhog
restart: always
network_mode: service:nextclouddev
volumes:
db:
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
sudo service apache2 start
while sleep 1000; do :; done
-14
View File
@@ -1,14 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
-33
View File
@@ -1,33 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"
cd $DIR/
git submodule update --init
# Codespace config
cp .devcontainer/codespace.config.php config/codespace.config.php
# VSCode debugger profile
mkdir -p .vscode && cp .devcontainer/launch.json .vscode/launch.json
# Onetime installation setup
if [[ ! $(sudo -u ${APACHE_RUN_USER} php occ status) =~ installed:[[:space:]]*true ]]; then
echo "Running NC installation"
sudo -u ${APACHE_RUN_USER} php occ maintenance:install \
--verbose \
--database=pgsql \
--database-name=postgres \
--database-host=127.0.0.1 \
--database-port=5432 \
--database-user=postgres \
--database-pass=postgres \
--admin-user admin \
--admin-pass admin
fi
sudo service apache2 restart
+518
View File
@@ -0,0 +1,518 @@
clone:
git:
image: plugins/git
depth: 1
pipeline:
jsunit:
image: nextcloudci/jsunit:jsunit-5
commands:
- ./autotest-js.sh
- curl -o codecov.sh https://codecov.io/bash
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
when:
matrix:
TESTS: jsunit
check-autoloader:
image: nextcloudci/php7.0:php7.0-7
commands:
- bash ./build/autoloaderchecker.sh
when:
matrix:
TESTS: check-autoloader
app-check-code:
image: nextcloudci/php7.0:php7.0-7
commands:
- ./occ app:check-code admin_audit
- ./occ app:check-code comments
- ./occ app:check-code federation
- ./occ app:check-code sharebymail
- ./occ app:check-code systemtags
- ./occ app:check-code theming
- ./occ app:check-code workflowengine
when:
matrix:
TESTS: app-check-code
signed-off-check:
image: nextcloudci/php7.0:php7.0-7
commands:
- php ./build/signed-off-checker.php
when:
matrix:
TESTS: signed-off-check
htaccess-checker:
image: nextcloudci/php7.0:php7.0-7
commands:
- php ./build/htaccess-checker.php
when:
matrix:
TESTS: htaccess-checker
files-check:
image: nextcloudci/php7.0:php7.0-7
commands:
- php ./build/files-checker.php
when:
matrix:
TESTS: files-check
syntax-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php5.6
syntax-php7.0:
image: nextcloudci/php7.0:php7.0-7
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php7.0
syntax-php7.1:
image: nextcloudci/php7.1:php7.1-11
commands:
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php7.1
litmus-v1:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v1/script.sh
when:
matrix:
TESTS: litmus-v1
litmus-v2:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v2/script.sh
when:
matrix:
TESTS: litmus-v2
caldavtester-new-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
- bash apps/dav/tests/travis/caldav/script-new-endpoint.sh
when:
matrix:
TESTS: caldavtester-new-endpoint
caldavtester-old-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
- bash apps/dav/tests/travis/caldav/script-old-endpoint.sh
when:
matrix:
TESTS: caldavtester-old-endpoint
carddavtester-new-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
- bash apps/dav/tests/travis/carddav/script-new-endpoint.sh
when:
matrix:
TESTS: carddavtester-new-endpoint
carddavtester-old-endpoint:
image: nextcloudci/litmus-php7.0:litmus-php7.0-4
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
- bash apps/dav/tests/travis/carddav/script-old-endpoint.sh
when:
matrix:
TESTS: carddavtester-old-endpoint
nodb-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: 5.6
nodb-php7.0:
image: nextcloudci/php7.0:php7.0-7
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: "7.0"
nodb-php7.1:
image: nextcloudci/php7.1:php7.1-11
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
when:
matrix:
DB: NODB
PHP: 7.1
sqlite-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 5.6
sqlite-php7.0:
image: nextcloudci/php7.0:php7.0-7
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: "7.0"
sqlite-php7.1:
image: nextcloudci/php7.1:php7.1-11
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
when:
matrix:
DB: sqlite
PHP: 7.1
mysql-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
when:
matrix:
DB: mysql
PHP: 5.6
postgres-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- sleep 10 # gives the database enough time to initialize
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
when:
matrix:
DB: postgres
PHP: 5.6
mysqlmb4-php5.6:
image: nextcloudci/php5.6:php5.6-7
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
when:
matrix:
DB: mysqlmb4
PHP: 5.6
integration-capabilities_features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh capabilities_features/capabilities.feature
when:
matrix:
TESTS: integration-capabilities_features
integration-federation_features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh federation_features/federated.feature
when:
matrix:
TESTS: integration-federation_features
integration-auth:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/auth.feature
when:
matrix:
TESTS: integration-auth
integration-carddav:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/carddav.feature
when:
matrix:
TESTS: integration-carddav
integration-dav-v2:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/dav-v2.feature
when:
matrix:
TESTS: integration-dav-v2
integration-ocs-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/ocs-v1.feature
when:
matrix:
TESTS: integration-ocs-v1
integration-sharing-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/sharing-v1.feature
when:
matrix:
TESTS: integration-sharing-v1
integration-checksums-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/checksums.feature
when:
matrix:
TESTS: integration-checksums
integration-external-storage:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/external-storage.feature
when:
matrix:
TESTS: integration-external-storage
integration-provisioning-v1:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/provisioning-v1.feature
when:
matrix:
TESTS: integration-provisioning-v1
integration-tags:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/tags.feature
when:
matrix:
TESTS: integration-tags
integration-caldav:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/caldav.feature
when:
matrix:
TESTS: integration-caldav
integration-comments:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/comments.feature
when:
matrix:
TESTS: integration-comments
integration-favorites:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/favorites.feature
when:
matrix:
TESTS: integration-favorites
integration-provisioning-v2:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/provisioning-v2.feature
when:
matrix:
TESTS: integration-provisioning-v2
integration-webdav-related:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh features/webdav-related.feature
when:
matrix:
TESTS: integration-webdav-related
integration-sharees-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh sharees_features/sharees.feature
when:
matrix:
TESTS: integration-sharees-features
integration-setup-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- cd build/integration
- ./run.sh setup_features/setup.feature
when:
matrix:
TESTS: integration-setup-features
integration-filesdrop-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- cd build/integration
- ./run.sh filesdrop_features/filesdrop.feature
when:
matrix:
TESTS: integration-filesdrop-features
integration-ldap-features:
image: nextcloudci/integration-php7.0:integration-php7.0-3
commands:
- ./occ maintenance:install --admin-pass=admin
- ./occ app:enable user_ldap
- cd build/integration
- ./run.sh ldap_features/ldap-ocs.feature
when:
matrix:
TESTS: integration-ldap-features
nodb-codecov:
image: nextcloudci/php7.0:php7.0-7
commands:
- TEST_SELECTION=NODB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TESTS: nodb-codecov
db-codecov:
image: nextcloudci/php7.0:php7.0-7
commands:
- TEST_SELECTION=QUICKDB ./autotest.sh sqlite
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
when:
matrix:
TESTS: db-codecov
matrix:
include:
- TESTS: signed-off-check
- TESTS: files-check
- TESTS: htaccess-checker
- TESTS: nodb-codecov
ENABLE_REDIS: true
- TESTS: db-codecov
ENABLE_REDIS: true
- TESTS: integration-capabilities_features
- TESTS: integration-federation_features
- TESTS: integration-auth
- TESTS: integration-carddav
- TESTS: integration-dav-v2
- TESTS: integration-ocs-v1
- TESTS: integration-sharing-v1
- TESTS: integration-checksums
- TESTS: integration-external-storage
- TESTS: integration-provisioning-v1
- TESTS: integration-tags
- TESTS: integration-caldav
- TESTS: integration-comments
- TESTS: integration-favorites
- TESTS: integration-provisioning-v2
- TESTS: integration-webdav-related
- TESTS: integration-sharees-features
- TESTS: integration-setup-features
- TESTS: integration-filesdrop-features
- TESTS: integration-ldap-features
- TESTS: jsunit
- TESTS: check-autoloader
- TESTS: app-check-code
- TESTS: syntax-php5.6
- TESTS: syntax-php7.0
- TESTS: syntax-php7.1
- TESTS: litmus-v1
- TESTS: litmus-v2
- TESTS: caldavtester-old-endpoint
- TESTS: caldavtester-new-endpoint
- TESTS: carddavtester-new-endpoint
- TESTS: carddavtester-old-endpoint
- DB: NODB
PHP: 5.6
ENABLE_REDIS: true
- DB: NODB
PHP: 7.0
ENABLE_REDIS: true
- DB: NODB
PHP: 7.1
ENABLE_REDIS: true
- DB: sqlite
PHP: 5.6
ENABLE_REDIS: true
- DB: sqlite
PHP: 7.0
ENABLE_REDIS: true
- DB: sqlite
PHP: 7.1
ENABLE_REDIS: true
- DB: mysql
PHP: 5.6
ENABLE_REDIS: true
- DB: postgres
PHP: 5.6
ENABLE_REDIS: true
- DB: mysqlmb4
PHP: 5.6
ENABLE_REDIS: true
services:
cache:
image: redis
when:
matrix:
ENABLE_REDIS: true
postgres:
image: postgres
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_PASSWORD=owncloud
tmpfs:
- /var/lib/postgresql/data
when:
matrix:
DB: postgres
mysql:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysql
mysqlmb4:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest
command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
tmpfs:
- /var/lib/mysql
when:
matrix:
DB: mysqlmb4
branches: [ master, stable* ]
-36
View File
@@ -1,36 +0,0 @@
# https://editorconfig.org
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.yml]
indent_size = 2
indent_style = space
[*.md]
trim_trailing_whitespace = false
[*.svg]
insert_final_newline = false
[package*.json]
indent_size = 2
indent_style = space
[build/psalm-baseline.xml]
indent_size = 2
indent_style = space
[config/*config.php]
indent_size = 2
indent_style = space
-3
View File
@@ -1,3 +0,0 @@
watch_file lib/versioncheck.php
watch_file package.json
use flake
-14
View File
@@ -1,14 +0,0 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
-60
View File
@@ -1,60 +0,0 @@
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
oc_userconfig: true,
sinon: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
rules: {
'comma-dangle': 'error',
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
'vue/html-self-closing': 'error',
},
settings: {
jsdoc: {
mode: 'typescript',
},
'import/resolver': {
typescript: {}, // this loads <rootdir>/tsconfig.json to eslint
},
},
overrides: [
// Allow any in tests
{
files: ['**/*.spec.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
},
},
{
files: ['*.vue'],
rules: {
'no-irregular-whitespace': 'off',
'vue/no-irregular-whitespace': 'error',
},
},
],
}
-21
View File
@@ -1,21 +0,0 @@
# .git-blame-ignore-revs
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Format control structures
caff1023ea72bb2ea94130e18a2a6e2ccf819e5f
# Update to coding-standard 1.1.1
aa5f037af71c915424c6dcfd5ad2dc82797dc0d6
# Update to coding-standard 1.2.3
af6de04e9e141466dc229e444ff3f146f4a34765
0bd284cb81b6866338aaaa67aa1d81ef9bfbb2ab
8af7ecb2576071f170ecbb0aa2311b26581e40e2
# Update to coding-standard 1.3.1
9836e9b16484582d309c8437ab46d82e34956941
# Automated refactorings
49dd79eabb2b8902559a7a4e8f8fcad54f46b604
# @nextcloud/vue import paths
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
# Update to coding-standard 1.4.0
5981b7eb512aa411f51cad541d01c5c6e93476f0
-6
View File
@@ -1,6 +0,0 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
/dist/* binary
/package-lock.json merge=binary
/core/css/*.css* binary
/.devcontainer/*.sh text eol=lf
-109
View File
@@ -1,109 +0,0 @@
# Fallback owners for code review - ensure all PRs have someone assigned for review.
# (the last match will used so this is only used if there is no more specific code owner below)
# Backend
# is the first and gets everything to make things easier from matching syntax
* @nextcloud/server-backend
# Frontend
# this will override the backend code owners if needed
/__mocks__ @nextcloud/server-frontend
/__tests__ @nextcloud/server-frontend
/dist @nextcloud/server-frontend
/cypress @nextcloud/server-frontend
**/css @nextcloud/server-frontend
**/js @nextcloud/server-frontend
**/src @nextcloud/server-frontend
*.js @nextcloud/server-frontend
*.ts @nextcloud/server-frontend
# dependency management
package.json @nextcloud/server-dependabot @nextcloud/server-frontend
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @nfebe @sorbaugh
/apps/files/appinfo/info.xml @skjnldsv @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @skjnldsv @sorbaugh
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @icewind1991 @sorbaugh
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Files frontend expertise
/apps/files/src* @skjnldsv @nextcloud/server-frontend
/apps/files_external/src* @skjnldsv @nextcloud/server-frontend
/apps/files_reminders/src* @skjnldsv @nextcloud/server-frontend
/apps/files_sharing/src/actions* @skjnldsv @nextcloud/server-frontend
/apps/files_trashbin/src* @skjnldsv @nextcloud/server-frontend
# Security team
/build/psalm-baseline-security.xml @nickvergessen @nextcloud/server-backend
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @miaulalala @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim @nextcloud/server-backend
# OpenAPI
openapi*.json @provokateurin @nextcloud/server-backend
ResponseDefinitions.php @provokateurin @nextcloud/server-backend
# Talk team
/lib/private/Comments @nickvergessen @nextcloud/talk-backend
/lib/private/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/private/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/Comments @nickvergessen @nextcloud/talk-backend
/lib/public/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/OCM @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/UserStatus @nickvergessen @nextcloud/talk-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
-79
View File
@@ -1,79 +0,0 @@
<!--
- SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
## Submitting issues
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc] (unofficial).
### Short version
* The [**issue templates can be found here**][templates] but be aware of the different repositories! See list below. Please always use an issue template when reporting issues.
### Guidelines
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to one of the repositories, click "issues" and type any word in the top search/command bar.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on [search syntax within github](https://help.github.com/articles/searching-issues)
* This repository ([server](https://github.com/nextcloud/server/issues)) is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* __SECURITY__: Report any potential security bug to us via [our HackerOne page](https://hackerone.com/nextcloud) following our [security policy](https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our [GitHub Organization](https://github.com/nextcloud/)
* Report the issue using one of our [templates][templates], they include all the information we need to track down the issue.
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
[templates]: ./ISSUE_TEMPLATE
[forum]: https://help.nextcloud.com/
[irc]: https://web.libera.chat/#nextcloud
## Contributing to Source Code
Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Conventional Commits
Please use [Conventional Commits](https://www.conventionalcommits.org) for your commit messages. This helps maintain clarity and consistency across the project, making it easier to understand changes and automate versioning.
```
feat(files_sharing): allow sharing with contacts
```
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
It is a must have that changed and added code segments are unit tested.
In some areas unit testing is hard (aka almost impossible) as of today - in these areas refactoring WHILE fixing a bug is encouraged to enable unit testing.
### Sign your work
We use the Developer Certificate of Origin (DCO) as an additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
Please read [contribute/developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases)
like `git config --global alias.ci 'commit -s'`. Now you can commit with
`git ci` and the commit will be signed.
### Apply a license
In case you are not sure how to add or update the license header correctly please have a look at [contribute/HowToApplyALicense.md][applyalicense]
[devmanual]: https://docs.nextcloud.com/server/latest/developer_manual/
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
## Translations
Please submit translations via [Transifex][transifex].
[transifex]: https://www.transifex.com/nextcloud
-3
View File
@@ -1,3 +0,0 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
custom: https://nextcloud.com/include/
-212
View File
@@ -1,212 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "🐛 Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
value: |
### 👍 Thank you for contributing to our project!
Please note this is a **free and open-source** project. Most people take on their own time to help you, so please, be patient.
You can obtain [Enterprise support](https://nextcloud.com/support/) if you run Nextcloud Server in a mission critical environment.
- type: markdown
attributes:
value: |
### 🚨 SECURITY INFO
If you are reporting a security concern, please report it via [our HackerOne page](https://hackerone.com/nextcloud) instead and review our [security policy](https://nextcloud.com/security/).
This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
It also may qualify your report for a bug bounty reward.
Thank you for helping make Nextcloud more secure!
- type: checkboxes
id: before-posting
attributes:
label: "⚠️ This issue respects the following points: ⚠️"
description: All conditions are **required**. Your issue can be closed if these are checked incorrectly.
options:
- label: This is a **bug**, not a question or a configuration/webserver/proxy issue.
required: true
- label: This issue is **not** already reported on [Github](https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3Abug) OR [Nextcloud Community Forum](https://help.nextcloud.com/) _(I've searched it)_.
required: true
- label: Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
id: bug-description
attributes:
label: Bug description
description: |
Provide a description of the bug you're experiencing.
Don't just expect someone will guess what your specific problem is and provide full details.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: |
Describe the steps to reproduce the bug.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: nextcloud-version
attributes:
label: Nextcloud Server version
description: |
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "master"
validations:
required: true
- type: dropdown
id: system
attributes:
label: Operating system
description: |
Select operating system where Nextcloud Server is installed.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "Debian/Ubuntu"
- "RHEL/CentOS"
- "Other"
- type: dropdown
id: php
attributes:
label: PHP engine version
description: |
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
- "PHP 8.1"
- "Other"
- type: dropdown
id: webserver
attributes:
label: Web server
description: |
Select Webserver serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "Apache (supported)"
- "Nginx"
- "Other"
- type: dropdown
id: database
attributes:
label: Database engine version
description: |
Select Database engine serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "MySQL"
- "MariaDB"
- "PostgreSQL"
- "SQlite"
- "Oracle"
- "Other"
- type: dropdown
id: fresh
attributes:
label: Is this bug present after an update or on a fresh install?
description: |
Select if bug is present after an update or on a fresh install.
options:
- "Updated from a MINOR version (ex. 32.0.1 to 32.0.2)"
- "Upgraded to a MAJOR version (ex. 31 to 32)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
attributes:
label: Are you using the Nextcloud Server Encryption module?
description: Select if encryption is Enabled on your Nextcloud Server.
options:
- "Encryption is Enabled"
- "Encryption is Disabled"
- type: checkboxes
id: users
attributes:
label: What user-backends are you using?
description: |
Select **all** user-backends Enabled on your Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- label: "Default user-backend _(database)_"
- label: "LDAP/ Active Directory"
- label: "SSO - SAML"
- label: "Other"
- type: textarea
id: configs
attributes:
label: Configuration report
description: |
Provide information about your configuration.
To get this information, execute one of the following commands on the CLI:
```shell
sudo -u www-data php occ config:list system
php occ config:list system
./occ config:list system
```
> NOTE: This will be automatically formatted into code for better readability.
render: json
- type: textarea
id: apps
attributes:
label: List of activated Apps
description: |
Provide information about your apps.
To get this information, execute one of the following commands on the CLI:
```shell
sudo -u www-data php occ app:list
php occ app:list
./occ app:list
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
- type: textarea
id: nextcloud-signingstatus
attributes:
label: Nextcloud Signing status
description: |
Provide Nextcloud Signing status.
First, login as Admin user into your Nextcloud, then access this URL:
```shell
https://yournextcloud.tld/index.php/settings/integrity/failed
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
- type: textarea
id: nextcloud-log
attributes:
label: Nextcloud Logs
description: |
Provide relevant Nextcloud log entries (e.g. from the time period you reproduced the problem).
Copy full individual entries from `data/nextcloud.log` or use `Copy raw entry` from `/settings/admin/logging` section:
> NOTE: This will be automatically formatted into code for better readability.
render: json
- type: textarea
id: additional-info
attributes:
label: Additional info
description: Any additional information related to the issue (ex. browser console errors, software versions).
-50
View File
@@ -1,50 +0,0 @@
---
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
Thanks for reporting issues back to Nextcloud!
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
Guidelines for submitting issues:
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldnt find any repositories matching ..." then click "Issues" in the left navigation.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github: https://help.github.com/articles/searching-issues
* This repository https://github.com/nextcloud/server/issues is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)
-->
<!--- Please keep this note for other contributors -->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-12
View File
@@ -1,12 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
contact_links:
- name: 🚨 Report a security or privacy issue
url: https://hackerone.com/nextcloud
about: Report security and privacy related issues privately to the Nextcloud team, so we can coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
- name: ❓ Community Support and Help
url: https://help.nextcloud.com/
about: Configuration, webserver/proxy or performance issues and other questions
- name: 💼 Nextcloud Enterprise
url: https://portal.nextcloud.com/
about: If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly
-7
View File
@@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
-5
View File
@@ -1,5 +0,0 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
firstPRMergeComment: >
Thanks for your first pull request and welcome to the community!
Feel free to keep them coming! If you are looking for issues to tackle then have a look at this selection: https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
-183
View File
@@ -1,183 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
# Main composer (linting, testing, openapi)
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main master npm frontend dependencies
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- package-ecosystem: composer
target-branch: stable30
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
- package-ecosystem: npm
target-branch: stable30
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
-23
View File
@@ -1,23 +0,0 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
## Summary
## TODO
- [ ] ...
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [ ] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-126
View File
@@ -1,126 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Code checkers
on:
pull_request:
permissions:
contents: read
concurrency:
group: autocheckers-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- build/autoloaderchecker.sh
autoloader:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
autocheckers:
runs-on: ubuntu-latest-low
strategy:
matrix:
php-versions: ['8.1']
name: Translation and Files checkers
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
- name: Check translations do not contain triple dot but ellipsis
run: php ./build/triple-dot-checker.php
- name: Check .htaccess does not contain invalid changes
run: php ./build/htaccess-checker.php
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
- name: Check that all shipped apps are linted by psalm
run: sh ./build/psalm-checker.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autoloader, autocheckers]
if: always()
name: autocheckers-summary
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
-49
View File
@@ -1,49 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merges for EOL
on: pull_request
permissions:
contents: read
concurrency:
group: block-merge-eol-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-merges-eol:
name: Block merges for EOL branches
# Only run on stableXX branches
if: startsWith( github.base_ref, 'stable')
runs-on: ubuntu-latest-low
steps:
- name: Set server major version environment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const regex = /^stable(\d+)$/
const baseRef = context.payload.pull_request.base.ref
const match = baseRef.match(regex)
if (match) {
console.log('Setting server_major to ' + match[1]);
core.exportVariable('server_major', match[1]);
console.log('Setting current_month to ' + (new Date()).toISOString().substr(0, 7));
core.exportVariable('current_month', (new Date()).toISOString().substr(0, 7));
}
- name: Checking if server ${{ env.server_major }} is EOL
if: ${{ env.server_major != '' }}
run: |
curl -s https://raw.githubusercontent.com/nextcloud-releases/updater_server/production/config/major_versions.json \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99" | . >= "${{ env.current_month }}"' \
| grep -q true
-57
View File
@@ -1,57 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merges during freezes
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-merge-freeze-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-merges-during-freeze:
name: Block merges during freezes
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest-low
steps:
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping freeze check');
}
}
- name: Download version.php from ${{ env.server_ref }}
if: ${{ env.server_ref != '' }}
run: curl 'https://raw.githubusercontent.com/nextcloud/server/${{ env.server_ref }}/version.php' --output version.php
- name: Run check
if: ${{ env.server_ref != '' }}
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
@@ -1,79 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merging with outdated 3rdparty/
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-outdated-3rdparty-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-outdated-3rdparty:
name: Block merging with outdated 3rdparty/
runs-on: ubuntu-latest-low
steps:
- name: Check requirement
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '3rdparty'
- 'version.php'
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping outdated 3rdparty check');
}
}
- name: Last 3rdparty commit on target branch
if: ${{ env.server_ref != '' }}
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ env.server_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
if: ${{ env.server_ref != '' }}
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo 'Branch has: ${{ steps.actual.outputs.commit }}'
echo '${{ env.server_ref }} has: ${{ steps.target.outputs.commit }}'
- name: Fail if 3rdparty commits are different
if: ${{ env.server_ref != '' && steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -1,36 +0,0 @@
# 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: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block unconventional commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-unconventional-commits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-unconventional-commits:
name: Block unconventional commits
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-47
View File
@@ -1,47 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
-222
View File
@@ -1,222 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Compile Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/compile`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile')
outputs:
git_path: ${{ steps.git-path.outputs.path }}
arg1: ${{ steps.command.outputs.arg1 }}
arg2: ${{ steps.command.outputs.arg2 }}
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const repositoryName = pull.data.head?.repo?.full_name
console.log(repositoryName)
return repositoryName
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /compile on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Parse command
uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v2
id: command
# Init path depending on which command is run
- name: Init path
id: git-path
run: |
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
else
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# Needed to allow force push later
persist-credentials: true
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.package-engines-versions.outputs.npmVersion }}'
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Commit default
if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --signoff -m 'chore(assets): Recompile assets'
- name: Commit fixup
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --fixup=HEAD --signoff
- name: Commit amend
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --amend --no-edit --signoff
# Remove any [skip ci] from the amended commit
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
-100
View File
@@ -1,100 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update 3rdparty command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
if: ${{ env.server_ref == '' }}
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
- name: Pull 3rdparty
if: ${{ env.server_ref != '' }}
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ env.server_ref }}'"'"'; fi'
- name: Commit and push changes
if: ${{ env.server_ref != '' }}
run: |
git add 3rdparty
git commit -s -m 'Update submodule 3rdparty to latest ${{ env.server_ref }}'
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
-240
View File
@@ -1,240 +0,0 @@
# 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: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Cypress
on: pull_request
concurrency:
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.head_ref || github.ref_name }}
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
# We'll install cypress in the cypress job
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^10"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Show cypress version
run: npm run cypress:version
- name: Save context
uses: buildjet/cache/save@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
key: cypress-context-${{ github.run_id }}
path: ./
cypress:
runs-on: ubuntu-latest
needs: init
strategy:
fail-fast: false
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['component', 'setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}}
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}}
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mariadb-admin ping" --health-interval 5s --health-timeout 2s --health-retries 5
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}}
ports:
- '5432/tcp'
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}}
ports:
- '1521'
env:
ORACLE_PASSWORD: oracle
options: --health-cmd healthcheck.sh --health-interval 20s --health-timeout 10s --health-retries 10
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
- name: Set up npm ${{ needs.init.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.init.outputs.npmVersion }}'
- name: Install cypress
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
# https://github.com/cypress-io/github-action/issues/124
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: docker logs nextcloud-cypress-tests_${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-cypress-tests_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
path: data.tar
summary:
runs-on: ubuntu-latest-low
needs: [init, cypress]
if: always()
name: cypress-summary
steps:
- name: Summary status
run: if ${{ needs.init.result != 'success' || ( needs.cypress.result != 'success' && needs.cypress.result != 'skipped' ) }}; then exit 1; fi
@@ -1,49 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Dependabot
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
auto-approve-merge:
if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]'
runs-on: ubuntu-latest-low
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not approve PRs from forks'
exit 1
# GitHub actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
-131
View File
@@ -1,131 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external FTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-ftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./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 password
./occ app:enable --force files_external
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/files_external/tests/config.ftp.php
- name: smoketest ftp
run: |
php -r 'var_dump(file_put_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost${{ env.FTP_ROOT }}/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/FtpTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-ftp
- name: ftpd logs
if: always()
run: |
docker logs ftp
ftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-ftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-ftp.result != 'success' }}; then exit 1; fi
-213
View File
@@ -1,213 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external S3
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-s3-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-minio
services:
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- '9000:9000'
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./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 password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'minio' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => '$OBJECT_STORE_KEY','secret' => '$OBJECT_STORE_SECRET', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: Wait for S3
run: |
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-s3
- name: Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
files-external-s3-localstack:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-localstack
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack@sha256:9d4253786e0effe974d77fe3c390358391a56090a4fff83b4600d8a64404d95d # v4.5.0
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./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 password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'localstack' => true, 'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-s3-minio, files-external-s3-localstack]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.files-external-s3-minio.result != 'success' || needs.files-external-s3-localstack.result != 'success') }}; then exit 1; fi
-121
View File
@@ -1,121 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external sFTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-sftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./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 password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/files_external/tests/config.sftp.php
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SftpTest.php \
apps/files_external/tests/Storage/SFTP_KeyTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-sftp
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-sftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-sftp.result != 'success' }}; then exit 1; fi
@@ -1,118 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Samba Kerberos SSO
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-smb-kerberos:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
name: smb-kerberos-sso
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/user_saml
path: apps/user_saml
- name: Install user_saml
run: |
cd apps/user_saml
composer i
cd ../..
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs DC
if: always()
run: |
docker logs dc
echo "------------"
docker exec dc cat /var/log/samba/log.samba
- name: Show logs Apache
if: always()
run: |
docker logs apache
- name: Show logs
if: always()
run: |
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb-kerberos.result != 'success' }}; then exit 1; fi
-122
View File
@@ -1,122 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-smb:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up smbclient
# This is needed as icewind/smb php library for notify
run: sudo apt-get install -y smbclient
- name: Set up Nextcloud
run: |
composer install
./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 password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', 'root'=>'', 'share'=>'public'];" > apps/files_external/tests/config.smb.php
- name: Wait for smb
run: |
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SmbTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb.result != 'success' }}; then exit 1; fi
-119
View File
@@ -1,119 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external WebDAV
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-webdav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-webdav-apache:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-webdav
services:
apache:
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest # zizmor: ignore[unpinned-images]
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./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 password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:8081/webdav/', 'user' => 'test', 'password'=>'pass', 'root' => '', 'wait' => 0];" > apps/files_external/tests/config.webdav.php
- name: Wait for WebDAV
run: |
sleep 5
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://test:pass@localhost:8081/webdav/
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/WebdavTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-webdav
files-external-webdav-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-webdav-apache]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-webdav-apache.result != 'success' }}; then exit 1; fi
-107
View File
@@ -1,107 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
files-external-generic:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-generic
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./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 password
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external -- \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-generic.result != 'success' }}; then exit 1; fi
-36
View File
@@ -1,36 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block fixup and squash commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
commit-message-check:
if: github.event.pull_request.draft == false
permissions:
pull-requests: write
name: Block fixup and squash commits
runs-on: ubuntu-latest-low
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,103 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Generate changelog on release
on:
release:
types: [published]
permissions:
contents: write
jobs:
changelog_generate:
runs-on: ubuntu-latest
# Only allowed to be 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: Checkout github_helper
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
path: server
fetch-depth: 0
- name: Get previous tag
shell: bash
run: |
cd server
# Print all tags
git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g'
# Get the current tag
TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
# If current tag is the first beta, we use the previous major RC1
if echo "$CURRENT_TAG" | grep -q 'beta1'; then
MAJOR=$(echo "$CURRENT_TAG" | sed -E 's/^v([0-9]+).*/\1/')
PREV=$((MAJOR - 1))
PREVIOUS_TAG="v${PREV}.0.0rc1"
# Get the previous tag - filter pre-releases only if current tag is stable
elif echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
# Current tag is pre-release, don't filter
PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
else
# Current tag is stable, filter out pre-releases
PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
fi
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
echo "PREVIOUS_TAG=$PREVIOUS_TAG" >> $GITHUB_ENV
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Verify current tag # zizmor: ignore[template-injection]
run: |
if [ "${{ github.ref_name }}" != "${{ env.CURRENT_TAG }}" ]; then
echo "Current tag does not match the release tag. Exiting."
exit 1
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: 8.2
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set credentials
run: |
echo '{"username": "github-actions"}' > github_helper/credentials.json
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Generate changelog between ${{ env.PREVIOUS_TAG }} and ${{ github.ref_name }} # zizmor: ignore[template-injection]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd github_helper/changelog
composer install
php index.php generate:changelog --no-bots --format=forum server ${{ env.PREVIOUS_TAG }} ${{ github.ref_name }} > changelog.md
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Set changelog to release # zizmor: ignore[template-injection]
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd server
gh release edit ${{ github.ref_name }} --notes-file "../github_helper/changelog/changelog.md" --title "${{ github.ref_name }}"
-128
View File
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: DAV integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-caldav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-caldav:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@bff0a193747a3ac7930a665fc1d4b23eba583b99 # v2025.814.40518
with:
python-version: '2.7'
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up Nextcloud
run: |
mkdir data
./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
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run CalDAVTester
run: |
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"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
caldav-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-caldav]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-caldav.result != 'success' }}; then exit 1; fi
-115
View File
@@ -1,115 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Litmus integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-litmus-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-litmus:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install \
--verbose \
--database=sqlite \
--database-name=nextcloud \
--database-user=root \
--database-pass=rootpassword \
--admin-user admin \
--admin-pass admin
./occ config:system:set trusted_domains 2 --value=host.docker.internal:8080
- name: Run Nextcloud
run: |
php -S 0.0.0.0:8080 &
- name: Run Litmus test
run: |
docker run \
--rm \
--add-host=host.docker.internal:host-gateway \
ghcr.io/nextcloud/continuous-integration-litmus-php8.3:latest \
bash -c '\
cd /tmp/litmus/litmus-0.13;
make URL=http://host.docker.internal:8080/remote.php/${{ matrix.endpoint }}${{ matrix.endpoint == 'dav' && '/files/admin' || ''}} CREDS="admin admin" TESTS="basic copymove props largefile" check;
status=$?;
cat debug.log;
exit $status;'
- name: Print Nextcloud logs
if: always()
run: cat data/nextcloud.log
integration-litmus-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-litmus]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-litmus.result != 'success' }}; then exit 1; fi
@@ -1,122 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: S3 primary storage integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-s3-primary:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
run: |
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
./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
php -f index.php
- name: Integration
run: |
cd build/integration
bash run.sh --tags "~@failure-s3" dav_features/webdav-related.feature
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-s3-primary]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
-184
View File
@@ -1,184 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Integration sqlite
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: integration-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- 'core/shipped.json'
integration-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
test-suite:
- 'capabilities_features'
- 'collaboration_features'
- 'comments_features'
- 'dav_features'
- 'features'
- 'federation_features'
- '--tags ~@large files_features'
- 'filesdrop_features'
- 'file_conversions'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
- 'remoteapi_features'
- 'routing_features'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.1']
spreed-versions: ['main']
activity-versions: ['master']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
openldap:
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-7 # zizmor: ignore[unpinned-images]
ports:
- 389:389
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
SLAPD_PASSWORD: admin
SLAPD_ADDITIONAL_MODULES: memberof
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/activity
path: apps/activity
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, ldap, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up production dependencies
run: composer i --no-dev
- name: Set up behat dependencies
working-directory: build/integration
run: composer i
- name: Set up Talk dependencies
if: ${{ matrix.test-suite == 'videoverification_features' }}
working-directory: apps/spreed
run: composer i --no-dev
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose ${{ contains(matrix.test-suite,'ldap') && '--data-dir=/dev/shm/nc_int' || '' }} --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
./occ config:system:set hashing_default_password --value=true --type=boolean
- name: Configure caching
if: ${{ contains(matrix.test-suite,'ldap') }}
run: |
./occ config:system:set redis host --value=localhost
./occ config:system:set redis port --value=6379 --type=integer
./occ config:system:set redis timeout --value=0 --type=integer
./occ config:system:set memcache.local --value='\OC\Memcache\Redis'
./occ config:system:set memcache.distributed --value='\OC\Memcache\Redis'
- name: Run integration
working-directory: build/integration
env:
LDAP_HOST: localhost
run: bash run.sh ${{ matrix.test-suite }} no-tail-log
- name: Print logs
if: always()
run: |
cat $(./occ log:file |grep "Log file"|cut -d" " -f3)
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-sqlite]
if: always()
name: integration-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-sqlite.result != 'success' }}; then exit 1; fi
-100
View File
@@ -1,100 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint eslint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-eslint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci
- name: Lint
run: npm run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: eslint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-84
View File
@@ -1,84 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php-cs
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-cs-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
name: PHP CS fixer lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php8.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: 8.1
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: composer i
- name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: php-cs
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-84
View File
@@ -1,84 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: [ '8.1', '8.2', '8.3', '8.4' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
run: composer run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-53
View File
@@ -1,53 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint stylelint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint
-188
View File
@@ -1,188 +0,0 @@
# 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: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
versions:
runs-on: ubuntu-latest-low
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
test:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies & build
run: |
npm ci
npm run build --if-present
- name: Test and process coverage
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./coverage/lcov.info
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, jsunit, handlebars]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.jsunit.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
-110
View File
@@ -1,110 +0,0 @@
# 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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node
on: pull_request
permissions:
contents: read
concurrency:
group: node-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'core/css/*'
- 'core/img/**'
- 'version.php'
build:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
exit 1 # make it red to grab attention
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, build]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: node
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi
-81
View File
@@ -1,81 +0,0 @@
# 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: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
title: '[${{ matrix.branches }}] Fix npm audit'
body: ${{ steps.npm-audit.outputs.markdown }}
labels: |
dependencies
3. to review
-138
View File
@@ -1,138 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage azure
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-azure-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
azure-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite@sha256:0a47e12e3693483cef5c71f35468b91d751611f172d2f97414e9c69113b106d9 # v3.34.0
env:
AZURITE_ACCOUNTS: nextcloud:bmV4dGNsb3Vk
ports:
- 10000:10000
options: --health-cmd="nc 127.0.0.1 10000 -z" --health-interval=1s --health-retries=30
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./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 password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: composer run test -- --group PRIMARY-azure --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-azure
- name: Azurite logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
azure-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes, azure-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.azure-primary-tests.result != 'success' }}; then exit 1; fi
-144
View File
@@ -1,144 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage S3
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
s3-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-s3
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./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 password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: composer run test -- --group PRIMARY-s3 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,s3-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.s3-primary-tests-minio.result != 'success' }}; then exit 1; fi
-134
View File
@@ -1,134 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage Swift
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-swift-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
swift-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-swift
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
swift:
image: ghcr.io/cscfi/docker-keystone-swift@sha256:e8b1ec21120ab9adc6ac6a2b98785fd273676439a8633fe898e37f2aea7e0712
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./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 password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: composer run test -- --group PRIMARY-swift --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-swift
- name: Swift logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
swift-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,swift-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.swift-primary-tests.result != 'success' }}; then exit 1; fi
-47
View File
@@ -1,47 +0,0 @@
# 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: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2024 Arthur Schiwon <blizzz@arthur-schiwon.de>
# SPDX-License-Identifier: MIT
name: OpenAPI
on: pull_request
permissions:
contents: read
concurrency:
group: openapi-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
openapi:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: '8.1'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: OpenAPI checker
run: build/openapi-checker.sh
-127
View File
@@ -1,127 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Performance testing
on:
pull_request:
permissions:
contents: read
concurrency:
group: performance-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
performance-testing:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
pull-requests: write
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
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
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./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 password
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@00504403f76cb2a09efd0d16793575055e6f63cb # v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
- name: Apply PR # zizmor: ignore[template-injection]
run: |
git remote add pr '${{ github.event.pull_request.head.repo.clone_url }}'
git fetch pr '${{ github.event.pull_request.head.ref }}'
git checkout -b 'pr/${{ github.event.pull_request.head.ref }}'
git submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
let comment = `Possible performance regression detected\n`;
comment += `<details><summary>Show Output</summary>
\`\`\`
${{ steps.compare.outputs.compare }}
\`\`\`
</details>`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
-71
View File
@@ -1,71 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit 32bits
on:
pull_request:
paths:
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
- 'tests/phpunit-autotest.xml'
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
permissions:
contents: read
concurrency:
group: phpunit-32bits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
phpunit-32bits:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ['8.1','8.3']
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
coverage: none
ini-file: development
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-155
View File
@@ -1,155 +0,0 @@
# 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: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit MariaDB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mariadb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mariadb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mariadb:
image: mariadb:${{ matrix.mariadb-versions }}
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="${{ matrix.mariadb-versions <= 10.4 && 'mysqladmin' || 'mariadb-admin'}} ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MariaDB option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo 'SELECT @@sql_mode;' | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mariadb
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mariadb]
if: always()
name: phpunit-mariadb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mariadb.result != 'success' }}; then exit 1; fi
-134
View File
@@ -1,134 +0,0 @@
# 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: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit memcached
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-memcached-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-memcached:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: Memcached (PHP ${{ matrix.php-versions }})
services:
memcached:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, memcached, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit memcached tests
run: composer run test -- --group Memcache,Memcached --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-memcached
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-memcached]
if: always()
name: phpunit-memcached-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-memcached.result != 'success' }}; then exit 1; fi
@@ -1,192 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit sharding
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-sharding-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard1:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5001:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard2:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5002:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard3:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5003:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard4:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5004:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
SHARDING: 1
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-160
View File
@@ -1,160 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit mysql
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
mysql-versions: ['8.0', '8.4']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-140
View File
@@ -1,140 +0,0 @@
# 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: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
#
# This is the testsuite running all non-database agnostic unit tests
name: PHPUnit nodb
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-nodb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'resources/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-nodb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: No DB unit tests (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
# Required for tests that use pcntl
ini-values: disable_functions=""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit nodb testsuite
run: composer run test -- --exclude-group DB,SLOWDB --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.nodb.xml' || '' }}
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-nodb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-nodb]
if: always()
name: phpunit-nodb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-nodb.result != 'success' }}; then exit 1; fi
@@ -1,124 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit primary object store
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-object-store-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
object-store-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: ${{ matrix.php-versions }}
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
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: ${{ matrix.key }}
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./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 password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
object-store-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,object-store-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.object-store-primary-tests-minio.result != 'success' }}; then exit 1; fi
-163
View File
@@ -1,163 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit OCI
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-oci:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
include:
- oracle-versions: '11'
php-versions: '8.1'
- oracle-versions: '18'
php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
- oracle-versions: '23'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
oracle:
image: ghcr.io/gvenzl/oracle-${{ matrix.oracle-versions < 23 && 'xe' || 'free' }}:${{ matrix.oracle-versions }}
# Provide passwords and other environment variables to container
env:
ORACLE_PASSWORD: oracle
# Forward Oracle port
ports:
- 1521:1521
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 20s
--health-timeout 10s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, oci8
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=oci --database-name=${{ matrix.oracle-versions < 23 && 'XE' || 'FREE' }} --database-host=127.0.0.1 --database-port=1521 --database-user=system --database-pass=oracle --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-oci
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-oci]
if: always()
name: phpunit-oci-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi
-159
View File
@@ -1,159 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit PostgreSQL
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-pgsql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-pgsql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['13', '17']
include:
- php-versions: '8.3'
postgres-versions: '17'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '17'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
postgres:
image: ghcr.io/nextcloud/continuous-integration-postgres-${{ matrix.postgres-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:5432/tcp
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-postgres
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-pgsql]
if: always()
name: phpunit-pgsql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
# 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: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit SQLite
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3', '8.4']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
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
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: Nextcloud debug information
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-sqlite]
if: always()
name: phpunit-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi
-55
View File
@@ -1,55 +0,0 @@
# 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: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Marcel Klehr <mklehr@gmx.net>
# SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Daniel Kesselberg <mail@danielkesselberg.de>
# SPDX-FileCopyrightText: 2023 Florian Steffens <florian.steffens@nextcloud.com>
# SPDX-License-Identifier: MIT
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
id: scrape
with:
website: 'https://nextcloud.com/team/'
- name: Get blocklist
id: blocklist
run: |
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@1883b38a033fb16f576875e0cf45f98b857655c4 # main
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
(If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).)
days-before-feedback: 14
start-date: '2024-04-30'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
exempt-bots: true
-27
View File
@@ -1,27 +0,0 @@
# 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: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check
on: [pull_request]
permissions:
contents: read
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
-37
View File
@@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Close stale issues
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity and seems to be missing some essential information.
It will be closed if no further activity occurs. Thank you
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14
# debug-only: true
-146
View File
@@ -1,146 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Psalm static code analysis
on:
pull_request:
push:
branches:
- main
- master
- stable*
paths:
- '.github/workflows/static-code-analysis.yml'
- '**.php'
permissions:
contents: read
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm taint analysis
run: composer run psalm:security -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ocp -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update CA certificate bundle
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CA certificate bundle from curl
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-ca-cert-bundle'
title: '[${{ matrix.branches }}] fix(security): Update CA certificate bundle'
body: |
Auto-generated update of CA certificate bundle from [https://curl.se/docs/caextract.html](https://curl.se/docs/caextract.html)
labels: |
dependencies
3. to review
reviewers: ChristophWurst, miaulalala, nickvergessen
@@ -1,52 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update code signing revocation list
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CRL file from Appstore repository
run: curl --output resources/codesigning/root.crl https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/certificate/nextcloud.crl
- name: Verify CRL is from CRT
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-code-signing-crl'
title: '[${{ matrix.branches }}] fix(security): Update code signing revocation list'
body: |
Auto-generated update of code signing revocation list from [Appstore](https://github.com/nextcloud/appstore/commits/master/nextcloudappstore/certificate/nextcloud.crl)
labels: |
dependencies
3. to review
reviewers: mgallien, miaulalala, nickvergessen
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update min supported desktop version
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
permissions:
contents: read
jobs:
update-minimum-supported-desktop-version:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Download desktop client version file from 5 years ago
id: download
run: |
# Create a temporary directory for the downloaded file
mkdir -p tmp
# Download the version file from the provided URL
VERSION_FILE_URL="https://github.com/nextcloud/desktop/raw/@%7B5.years.ago%7D/VERSION.cmake"
# Download the file using curl
curl -s -L "$VERSION_FILE_URL" -o tmp/VERSION.cmake
if [ ! -f "tmp/VERSION.cmake" ]; then
echo "Failed to download VERSION.cmake file"
exit 1
fi
echo "VERSION_FILE=tmp/VERSION.cmake" >> $GITHUB_OUTPUT
echo "Downloaded version file to tmp/VERSION.cmake"
- name: Extract version info
id: extract-version
run: |
# Path to the downloaded version file
VERSION_FILE="${{ steps.download.outputs.VERSION_FILE }}"
# Extract major, minor, patch versions
MAJOR=$(grep "VERSION_MAJOR" $VERSION_FILE | grep -o '[0-9]\+')
MINOR=$(grep "VERSION_MINOR" $VERSION_FILE | grep -o '[0-9]\+')
PATCH=$(grep "VERSION_PATCH" $VERSION_FILE | grep -o '[0-9]\+')
# Construct the version string
VERSION="$MAJOR.$MINOR.$PATCH"
# Validate format: xx.xx.xx where each x is a digit
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Extracted version '$VERSION' does not match required format (xx.xx.xx)"
exit 1
fi
rm -rf tmp
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted Version: $VERSION"
- name: Update files with new version ${{ steps.extract-version.outputs.VERSION }}
id: update-files
run: |
VERSION="${{ steps.extract-version.outputs.VERSION }}"
# Define the files to update
DAV_FILE="apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php"
CONFIG_FILE="config/config.sample.php"
# Check if files exist
if [ ! -f "$DAV_FILE" ]; then
echo "Error: DAV file not found at $DAV_FILE"
exit 1
fi
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: Config file not found at $CONFIG_FILE"
exit 1
fi
# Update the DAV file - replace the version in the specific line
sed -i "s/\('minimum\.supported\.desktop\.version', '\)[0-9]\+\.[0-9]\+\.[0-9]\+'/\1$VERSION'/g" "$DAV_FILE"
echo "Updated $DAV_FILE"
# Update the config sample file
PREV_VERSION=$(grep "'minimum.supported.desktop.version'" "$CONFIG_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
sed -i "s/Defaults to \`\`$PREV_VERSION\`\`/Defaults to \`\`$VERSION\`\`/" "$CONFIG_FILE"
sed -i "s/'minimum\.supported\.desktop\.version' => '[0-9]\+\.[0-9]\+\.[0-9]\+'/'minimum.supported.desktop.version' => '$VERSION'/g" "$CONFIG_FILE"
echo "Updated $CONFIG_FILE"
# Check if any changes were made
if [ -n "$(git diff "$DAV_FILE" "$CONFIG_FILE")" ]; then
echo "CHANGES_MADE=true" >> $GITHUB_OUTPUT
echo "Changes were made to the files"
git diff "$DAV_FILE" "$CONFIG_FILE"
else
echo "CHANGES_MADE=false" >> $GITHUB_OUTPUT
echo "No changes were needed (versions might already be up to date)"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore: Update minimum supported desktop version"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |
Auto-generated update of the minimum supported desktop version using last supported version.
https://github.com/nextcloud/desktop/blob/@%7B5.years.ago%7D/VERSION.cmake
labels: |
client: 💻 desktop
automated
3. to review
reviewers: '@nextcloud/desktop'
@@ -1,69 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update PRs titles on stable branches
on:
pull_request:
types: [opened, edited]
branches:
- "stable*"
concurrency:
group: stable-pr-title-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
update-pr-title:
runs-on: ubuntu-latest-low
permissions:
pull-requests: write
contents: read
steps:
- name: Wait for potential title edits
run: sleep 15
- name: Get PR details and update title
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const baseBranch = pr.base.ref;
const currentTitle = pr.title;
// Check if this is a stable branch
// Should not happen as we only trigger on stable* branches 🤷‍♀️
if (!baseBranch.startsWith('stable')) {
console.log(`Not a stable branch: ${baseBranch}`);
return;
}
const prefix = `[${baseBranch}]`;
// Check if title already has the correct prefix and no other stable tags
const correctTagRegex = new RegExp(`^\\[${baseBranch}\\]\\s*`);
const hasOtherStableTags = /\[stable[\d.]*\]/.test(currentTitle.replace(correctTagRegex, ''));
if (correctTagRegex.test(currentTitle) && !hasOtherStableTags) {
console.log(`Title already has correct prefix only: ${currentTitle}`);
return;
}
// Remove all stable tags and add the correct one
const cleanTitle = currentTitle.replace(/\[stable[\d.]*\]\s*/g, '').trim();
const newTitle = `${prefix} ${cleanTitle}`;
console.log(`Updating title from: "${currentTitle}" to: "${newTitle}"`);
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
title: newTitle,
});
+2 -55
View File
@@ -1,9 +1,6 @@
# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2011-2016 ownCloud contributors
# SPDX-FileCopyrightText: 2010 ownCloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# the default generated dir + db file
/data
/owncloud
/config/config.php
/config/*.config.php
/config/mimetype*.json
@@ -11,16 +8,10 @@
/apps/inc.php
/assets
/.htaccess
/node_modules
/translationfiles
/translationtool.phar
# ignore all apps except core ones
/apps*/*
!/apps/cloud_federation_api
!/apps/comments
!/apps/contactsinteraction
!/apps/dashboard
!/apps/dav
!/apps/files
!/apps/federation
@@ -28,25 +19,18 @@
!/apps/sharebymail
!/apps/encryption
!/apps/files_external
!/apps/files_reminders
!/apps/files_sharing
!/apps/files_trashbin
!/apps/files_versions
!/apps/lookup_server_connector
!/apps/user_ldap
!/apps/oauth2
!/apps/profile
!/apps/provisioning_api
!/apps/settings
!/apps/systemtags
!/apps/testing
!/apps/admin_audit
!/apps/updatenotification
!/apps/theming
!/apps/twofactor_backupcodes
!/apps/user_status
!/apps/weather_status
!/apps/webhook_listeners
!/apps/workflowengine
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
/apps/files_external/3rdparty/irodsphp/web
@@ -55,8 +39,6 @@
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
@@ -64,9 +46,6 @@
!/themes/example
!/themes/README
# Love to people that develop the updater
/updater
# just sane ignores
.*.sw[po]
*.bak
@@ -82,8 +61,6 @@ CVS/*
.svn/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -104,10 +81,6 @@ nbproject
.idea
*.iml
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -137,8 +110,7 @@ nbproject
# nodejs
/build/bin
/build/lib/
/build/integration/output/
/build/integration/phpserver.log
/build/jsdocs/
/npm-debug.log
/PhantomJS_*
@@ -151,9 +123,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.cache
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
/tests/karma-coverage
@@ -161,28 +130,6 @@ Vagrantfile
/tests/autotest*
/tests/data/lorem-copy.txt
/tests/data/testimage-copy.png
/tests/ui-regression/out/
/tests/ui-regression/node_modules/
/tests/ui-regression/package-lock.json
/config/config-autotest-backup.php
/config/autoconfig.php
clover.xml
/coverage
# Tests - dependencies
tests/acceptance/vendor/
composer.phar
/lib/composer/bin
/lib/composer/bamarni
/vendor-bin/**/vendor
./.htaccess
core/js/mimetypelist.js
# Tests - cypress
cypress/downloads
cypress/snapshots
cypress/videos
/.direnv
-3
View File
@@ -1,6 +1,3 @@
# SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2016 ownCloud, Inc.
# SPDX-License-Identifier: AGPL-3.0-only
[submodule "3rdparty"]
path = 3rdparty
url = https://github.com/nextcloud/3rdparty.git
+39 -81
View File
@@ -7,115 +7,73 @@
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Robots-Tag "none"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Download-Options "noopen"
Header set X-Permitted-Cross-Domain-Policies "none"
SetEnv modHeadersAvailable true
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
<FilesMatch "\.(css|js|svg|gif)$">
Header set Cache-Control "max-age=15778463"
</FilesMatch>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
# Let browsers cache WOFF files for a week
<FilesMatch "\.woff$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
<IfModule mod_php5.c>
php_value upload_max_filesize 511M
php_value post_max_size 511M
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value always_populate_raw_post_data -1
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
<IfModule mod_php7.c>
php_value upload_max_filesize 511M
php_value post_max_size 511M
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>
# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973
<IfModule mod_env.c>
SetEnv ap_trust_cgilike_cl
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2014 ownCloud, Inc.
SPDX-License-Identifier: AGPL-3.0-only
+2 -6
View File
@@ -1,5 +1,4 @@
{
"esversion": 11,
"camelcase": true,
"eqeqeq": true,
"immed": true,
@@ -12,10 +11,10 @@
"maxparams": 5,
"curly": true,
"jquery": true,
"maxlen": 120,
"indent": 4,
"browser": true,
"laxbreak": true,
"asi": true,
"globals": {
"console": true,
"it": true,
@@ -29,10 +28,7 @@
"_": true,
"OC": true,
"OCA": true,
"OCP": true,
"t": true,
"n": true,
"escapeHTML": true,
"Promise": true
"n": true
}
}
+2
View File
@@ -0,0 +1,2 @@
pattern = "(?i):shipit:|:\\+1:|LGTM|👍"
self_approval_off = true
+10 -25
View File
@@ -63,8 +63,8 @@ Christian Berendt <berendt@b1-systems.de>
Christian Kampka <christian@kampka.net>
Christian Koch <koch.chris@gmail.com>
Christian Reiner <github@christian-reiner.info> Christian Reiner <arkascha@balder.site>
Christoph Wurst <christoph@winzerhof-wurst.at> Christoph Wurst <ChristophWurst@users.noreply.github.com>
Christoph Wurst <christoph@winzerhof-wurst.at> Christoph Wurst <christoph@owncloud.com>
Christoph Wurst <christoph@owncloud.com> Christoph Wurst <ChristophWurst@users.noreply.github.com>
Christoph Wurst <christoph@owncloud.com> Christoph Wurst <christoph@winzerhof-wurst.at>
Christopher Bunn <b11.chris@gmail.com>
Christopher Schäpers <kondou@ts.unde.re> Christopher <kondou@ts.unde.re>
Christopher Schäpers <kondou@ts.unde.re> kondou <kondou@ts.unde.re>
@@ -82,7 +82,6 @@ Dan Callahan <dan.callahan@gmail.com>
Dan Jones <dan@danneh.org>
Daniel <daniel@mars.(none)>
Daniel Hansson <enoch85@gmail.com>
Daniel Kesselberg <mail@danielkesselberg.de> kesselb <mail@danielkesselberg.de>
Daniel Köb <daniel.koeb@peony.at>
Daniel Molkentin <daniel@molkentin.de>
Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
@@ -101,7 +100,6 @@ derkostka <sebastian.kostka@gmail.com>
Diederik de Haas <diederik@cknow.org>
Dominik Schmidt <dev@dominik-schmidt.de>
Donald Buczek <buczek@molgen.mpg.de>
Donquixote <marjunebatac@gmail.com> Donquixote <marjunebatac@gmailcom>
Doug Neiner <doug@pixelgraphics.us>
drarko <drarko@users.noreply.github.com>
dratini0 <dratini0@gmail.com>
@@ -142,13 +140,12 @@ ganomi <ganomi@gmail.com>
Gaël Beaudoin <gaboo@home.gaboo.org>
geez0x1 <geez0x1@users.noreply.github.com>
gekmihesg <markus@gekmihesg.de>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <dev@georgswebsite.de>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <developer@georgehrke.com>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <georg.stefan.germany@googlemail.com>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <ownclouddev@georgswebsite.de>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <devgeorg@ownCloud.com>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <georg@ownCloud.com>
Georg Ehrke <oc.list@georgehrke.com> Georg Ehrke <georg@owncloud.com>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <dev@georgswebsite.de>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <developer@georgehrke.com>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <georg.stefan.germany@googlemail.com>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <ownclouddev@georgswebsite.de>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <devgeorg@ownCloud.com>
Georg Ehrke <georg@owncloud.com> Georg Ehrke <georg@ownCloud.com>
Golnaz Nilieh <g382nilieh@gmail.com>
Grundik <grundik@ololo.cc>
Guillaume AMAT <guillaume.amat@informatique-libre.com>
@@ -165,7 +162,6 @@ ideaship <ideaship@users.noreply.github.com>
Ignacio Daniel Rostagno <ignaciorostagno@vijona.com.ar>
infoneo <infoneo@yahoo.pl>
Insanemal <insanemal@gmail.com>
Tobias Perschon <tobias@perschon.at> Tobias Perschon <tofuSCHNITZEL@users.noreply.github.com>
Tobias Ramforth <tobias@ramforth.com> Tobias Ramforth <tobias.ramforth@udo.edu>
Tobias Ramforth <tobias@ramforth.com> irgsmirx <tobias.ramforth@udo.edu>
Isaac Rosenberg <irosenb7@gmail.com>
@@ -187,7 +183,6 @@ Jesús Macias <jmacias@solidgear.es> Jesus Macias <jmacias@full-on-net.com>
jknockaert <jasper@knockaert.nl>
Joan <aseques@gmail.com>
Joar Wandborg <git@wandborg.com>
Joas Schilling <coding@schilljs.com> Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@gmx.de>
Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@owncloud.com>
joel hansson <joel.hansson@gmail.com>
@@ -215,7 +210,6 @@ Lennart Rosam <lennart.rosam@medien-systempartner.de>
Sebastian Döll <sebastian.doell@libasys.de> libasys <sebastian.doell@libasys.de>
Lode Hoste <zillode@zillode.be>
lolozere <laurent@chedanne.pro>
Louis Chemineau <louis@chmn.me> Louis Chemineau <6653109+artonge@users.noreply.github.com>
Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.com>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.org>
@@ -321,8 +315,6 @@ Robin McCorkell <robin@mccorkell.me.uk> Robin McCorkell <rmccorkell@owncloud.com
Rodrigo Hjort <rodrigo.hjort@gmail.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Jago Douma <rullzer@owncloud.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Douma <rullzer@users.noreply.github.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Jago Douma <rullzer@users.noreply.github.com>
Roger Szabo <roger.szabo@web.de> root <roger.szabo@web.de>
rok <brejktru@gmail.com>
Roland Hager <roland.hager@tu-berlin.de>
Roland van Laar <roland@micite.net>
@@ -341,7 +333,6 @@ Sander <brantje@gmail.com>
Sandro Knauß <bugs@sandroknauss.de> Sandro <hefee@taurin.(none)>
Sascha Schmidt <realriot@realriot.de>
Sascha Schneider <development@suntsu.org>
Sascha Wiswedel <sascha.wiswedel@nextcloud.com> Sascha Wiswedel <wiswedel@users.noreply.github.com>
scambra <sergio@entrecables.com>
scolebrook <scolebrook@mac.com>
Scott Arciszewski <scott@arciszewski.me>
@@ -360,8 +351,6 @@ Simon Birnbach <simon@simon-birnbach.de>
Simon Könnecke <simonkoennecke@gmail.com>
Simon Whittaker <simon@swbh.net>
Sjors van der Pluijm <sjors@desjors.nl> Sjors van der Pluijm <sjors@youngguns.nl>
John Molakvoæ <skjnldsv@protonmail.com> John Molakvoæ <skjnldsv@users.noreply.github.com>
John Molakvoæ <skjnldsv@protonmail.com> John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
st3so <st3so@server.fake>
Stefan <mu.stefan@googlemail.com>
Stefan Göckeritz <admin@s-goecker.de>
@@ -384,8 +373,6 @@ tbelau666 <thomas.belau@gmx.de>
TheSFReader <TheSFReader@gmail.com>
Thibaut GRIDEL <tgridel@free.fr>
thomas <thomas@thomas-VirtualBox.(none)>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <tcit@tcit.fr>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <github@tcit.fr>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Mueller <thomas.mueller@tmit.eu>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Müller <DeepDiver1975@users.noreply.github.com>
Thomas Olsen <tol@tanghus>
@@ -411,10 +398,8 @@ Victor Dubiniuk <dubiniuk@owncloud.com> Victor Dubiniuk <victor.dubiniuk@gmail.c
Victor Dubiniuk <dubiniuk@owncloud.com> VicDeo <dubiniuk@owncloud.com>
Victor Dubiniuk <dubiniuk@owncloud.com> VicDeo <victor.dubiniuk@gmail.com>
Vincent Cloutier <vincent1cloutier@gmail.com>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <PVince81@yahoo.fr>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <vincent@vvortex.site>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <pvince81@owncloud.com>
Vinicius Cubas Brand <vinicius@eita.org.br> Vinicius Cubas Brand <viniciuscb@gmail.com>
Vincent Petry <pvince81@owncloud.com> Vincent Petry <PVince81@yahoo.fr>
Vincent Petry <pvince81@owncloud.com> Vincent Petry <vincent@vvortex.site>
Vitaly Kuznetsov <vitty@altlinux.ru>
Vladimir Sapronov <vladimir.sapronov@gmail.com>
Volkan Gezer <volkangezer@gmail.com> Volkan Gezer <wakeup@users.noreply.github.com>
+30
View File
@@ -0,0 +1,30 @@
{
"maxReviewers": 3,
"numFilesToCheck": 5,
"alwaysNotifyForPaths": [
{
"name": "nickvergessen",
"files": [
"lib/private/Activity/**",
"lib/private/Notification/**",
"lib/public/Activity/**",
"lib/public/Notification/**"
]
},
{
"name": "Xenopathic",
"files": [
"apps/files_external/**"
]
}
],
"userBlacklist": [
"DeepDiver1975",
"nextcloud-bot",
"owncloud-bot",
"PVince81",
"scrutinizer-auto-fixer",
"th3fallen",
"zander"
]
}
-1
View File
@@ -1 +0,0 @@
**/*.spec.js
-40
View File
@@ -1,40 +0,0 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
require_once './vendor-bin/cs-fixer/vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
$config = new Config();
$config
->setParallelConfig(ParallelConfigFactory::detect())
->getFinder()
->in(__DIR__)
->exclude([
'3rdparty',
'build/stubs',
'composer',
])
;
$ignoredEntries = shell_exec('git status --porcelain --ignored ' . escapeshellarg(__DIR__));
$ignoredEntries = explode("\n", $ignoredEntries);
$ignoredEntries = array_filter($ignoredEntries, static fn (string $line) => str_starts_with($line, '!! '));
$ignoredEntries = array_map(static fn (string $line) => substr($line, 3), $ignoredEntries);
$ignoredEntries = array_values($ignoredEntries);
foreach ($ignoredEntries as $ignoredEntry) {
if (str_ends_with($ignoredEntry, '/')) {
$config->getFinder()->exclude($ignoredEntry);
} else {
$config->getFinder()->notPath($ignoredEntry);
}
}
return $config;
-19
View File
@@ -1,19 +0,0 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/nextcloud/pre-commit-php.git
rev: 1.5.1
hooks:
- id: php-lint
- id: php-cs-fixer
files: \.(php)$
exclude: ^(config|data|composer|lib\/composer)
args: []
+27
View File
@@ -0,0 +1,27 @@
before_commands:
- 'git submodule update --init --recursive'
filter:
excluded_paths:
- '3rdparty/*'
- 'apps/*/3rdparty/*'
- 'apps/*/vendor/*'
- 'l10n/*'
- 'core/l10n/*'
- 'apps/*/l10n/*'
- 'apps/*/tests/*'
- 'lib/l10n/*'
- 'core/vendor/*'
- 'core/js/tests/lib/*.js'
- 'core/js/tests/specs/*.js'
- 'core/js/jquery-showpassword.js'
- 'core/js/jquery-tipsy.js'
- 'core/js/placeholders.js'
- 'settings/l10n/*'
- 'tests/*'
- 'build/*'
- 'lib/composer/*'
imports:
- javascript
- php
-195
View File
@@ -1,195 +0,0 @@
[main]
host = https://www.transifex.com
lang_map = fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs
[o:nextcloud:p:nextcloud:r:admin_audit]
file_filter = translationfiles/<lang>/admin_audit.po
source_file = translationfiles/templates/admin_audit.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:cloud_federation_api]
file_filter = translationfiles/<lang>/cloud_federation_api.po
source_file = translationfiles/templates/cloud_federation_api.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:comments]
file_filter = translationfiles/<lang>/comments.po
source_file = translationfiles/templates/comments.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:contactsinteraction]
file_filter = translationfiles/<lang>/contactsinteraction.po
source_file = translationfiles/templates/contactsinteraction.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:core]
file_filter = translationfiles/<lang>/core.po
source_file = translationfiles/templates/core.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:dashboard-shipped-with-server]
file_filter = translationfiles/<lang>/dashboard.po
source_file = translationfiles/templates/dashboard.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:dav]
file_filter = translationfiles/<lang>/dav.po
source_file = translationfiles/templates/dav.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:federatedfilesharing]
file_filter = translationfiles/<lang>/federatedfilesharing.po
source_file = translationfiles/templates/federatedfilesharing.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:federation]
file_filter = translationfiles/<lang>/federation.po
source_file = translationfiles/templates/federation.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files]
file_filter = translationfiles/<lang>/files.po
source_file = translationfiles/templates/files.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_encryption]
file_filter = translationfiles/<lang>/encryption.po
source_file = translationfiles/templates/encryption.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_external]
file_filter = translationfiles/<lang>/files_external.po
source_file = translationfiles/templates/files_external.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_reminders]
file_filter = translationfiles/<lang>/files_reminders.po
source_file = translationfiles/templates/files_reminders.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_sharing]
file_filter = translationfiles/<lang>/files_sharing.po
source_file = translationfiles/templates/files_sharing.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_trashbin]
file_filter = translationfiles/<lang>/files_trashbin.po
source_file = translationfiles/templates/files_trashbin.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_versions]
file_filter = translationfiles/<lang>/files_versions.po
source_file = translationfiles/templates/files_versions.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:lib]
file_filter = translationfiles/<lang>/lib.po
source_file = translationfiles/templates/lib.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:lookup_server_connector]
file_filter = translationfiles/<lang>/lookup_server_connector.po
source_file = translationfiles/templates/lookup_server_connector.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:oauth2]
file_filter = translationfiles/<lang>/oauth2.po
source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:profile]
file_filter = translationfiles/<lang>/profile.po
source_file = translationfiles/templates/profile.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:settings-1]
file_filter = translationfiles/<lang>/settings.po
source_file = translationfiles/templates/settings.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:sharebymail]
file_filter = translationfiles/<lang>/sharebymail.po
source_file = translationfiles/templates/sharebymail.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:systemtags]
file_filter = translationfiles/<lang>/systemtags.po
source_file = translationfiles/templates/systemtags.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:theming]
file_filter = translationfiles/<lang>/theming.po
source_file = translationfiles/templates/theming.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:twofactor_backupcodes]
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
source_file = translationfiles/templates/twofactor_backupcodes.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:updatenotification]
file_filter = translationfiles/<lang>/updatenotification.po
source_file = translationfiles/templates/updatenotification.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:user_ldap]
file_filter = translationfiles/<lang>/user_ldap.po
source_file = translationfiles/templates/user_ldap.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:user_status]
file_filter = translationfiles/<lang>/user_status.po
source_file = translationfiles/templates/user_status.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:weather_status]
file_filter = translationfiles/<lang>/weather_status.po
source_file = translationfiles/templates/weather_status.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:webhook_listeners]
file_filter = translationfiles/<lang>/webhook_listeners.po
source_file = translationfiles/templates/webhook_listeners.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:workflowengine]
file_filter = translationfiles/<lang>/workflowengine.po
source_file = translationfiles/templates/workflowengine.pot
source_lang = en
type = PO
+4 -6
View File
@@ -1,9 +1,7 @@
; SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
; SPDX-FileCopyrightText: 2014-2016 ownCloud, Inc.
; SPDX-License-Identifier: AGPL-3.0-only
;
; NOTE: PHP caches this file for 300 seconds by default
;
upload_max_filesize=511M
post_max_size=511M
memory_limit=512M
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0

Some files were not shown because too many files have changed in this diff Show More