Compare commits

..

75 Commits

Author SHA1 Message Date
blizzz ce1dddcc64 Merge pull request #34276 from nextcloud/release/25.0.0_rc2
25.0.0 RC2
2022-09-29 15:20:44 +02:00
blizzz b84eb26f72 Merge pull request #34325 from nextcloud/backport/34313/stable25
[stable25] unbundle files_videoplayer and clean up a little
2022-09-29 15:19:30 +02:00
blizzz b6fd615bf7 Merge pull request #34320 from nextcloud/backport/34308/stable25
[stable25] Fix user status emoji picking
2022-09-29 13:49:26 +02:00
Arthur Schiwon 68284b87f2 unbundle files_videoplayer and clean up a little
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-29 11:27:33 +00:00
blizzz 904ac63310 Merge pull request #34316 from nextcloud/backport/34215/stable25
[stable25] Add cache header for image endpoint if link previews
2022-09-29 12:16:56 +02:00
blizzz 1f27bd153b Merge pull request #34310 from nextcloud/backport/34306/stable25
[stable25] fix default value for updatedirectory setting
2022-09-29 12:13:36 +02:00
nextcloud-command 92a4ce9f3b Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-28 23:25:51 +00:00
John Molakvoæ (skjnldsv) 729b78708f Fix user status emoji picking
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2022-09-28 23:25:50 +00:00
Simon L 8b34878771 Merge pull request #34319 from nextcloud/backport/34311/stable25
[stable25] Remove unwanted settings button background
2022-09-29 01:21:41 +02:00
John Molakvoæ (skjnldsv) a5c5740e84 Remove unwanted settings button background
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-28 22:38:22 +00:00
blizzz ab51e4ef24 Merge pull request #34317 from nextcloud/backport/34287/stable25
[stable25] fix highcontrast theme
2022-09-28 21:53:04 +02:00
blizzz d442a3c1be Merge pull request #34315 from nextcloud/backport/34204/stable25
[stable25] Fix various theming bugs
2022-09-28 21:52:27 +02:00
szaimen 6ac50c26ef fix highcontrast theme icons
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-28 18:38:24 +00:00
Julius Härtl 4aeb701b87 Add cache header for image endpoint if link previews
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-28 18:29:45 +00:00
Christopher Ng 9c073fd760 Fix various theming bugs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-09-28 18:01:41 +00:00
Arthur Schiwon 413610ede4 fix default value for updatedirectory setting
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-28 13:56:48 +00:00
blizzz c12f26867d Merge pull request #34285 from nextcloud/backport/34263/stable25
[stable25] Add endpoint to fetch a cachable reference data
2022-09-28 10:23:37 +02:00
blizzz 847535ee88 Merge pull request #34295 from nextcloud/backport/34288/stable25
[stable25] Fix focussing to internal link after copy
2022-09-27 23:20:22 +02:00
blizzz d9c07af32a Merge pull request #34294 from nextcloud/backport/34292/stable25
[stable25] Fix grid view button in public page
2022-09-27 23:19:01 +02:00
blizzz e85870afa7 Merge pull request #34293 from nextcloud/backport/34272/stable25
[stable25] Add primary color presets for shipped backgrounds
2022-09-27 23:18:28 +02:00
blizzz 7bdaa9fa04 Merge pull request #34286 from nextcloud/backport/34134/stable25
[stable25] l10n: Fix text string
2022-09-27 23:17:49 +02:00
blizzz 9c21bda303 Merge pull request #34221 from nextcloud/backport/34212/stable25
[stable25] Fix loading custom background
2022-09-27 23:08:13 +02:00
Vincent Petry 3bb4d01a7c Update apps/files_sharing/src/components/SharingEntryInternal.vue
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-27 17:11:17 +00:00
Vincent Petry 99cb56cda2 Fix focussing to internal link after copy
Since a recent change to NcActions it's not possible to add a "ref"
attribute on a NcAction* component.

As a workaround, a ref was added on the NcActions parent component
instead.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-09-27 17:11:16 +00:00
Vincent Petry a85d1cad6a Fix grid view button in public page
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-09-27 17:07:09 +00:00
Christopher Ng 6965d4b4af Add preset primary colors for shipped backgrounds
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-09-27 16:24:52 +00:00
Joas Schilling 4441416245 Merge pull request #34213 from nextcloud/backport/34191/stable25
[stable25] DashBoard : Allow up to 5 widgets side by side
2022-09-27 17:10:29 +02:00
blizzz 96423a1172 Merge pull request #34251 from nextcloud/backport/34222/stable25
[stable25] Fix install page
2022-09-27 16:58:17 +02:00
Joas Schilling 2d86948c34 Merge pull request #34270 from nextcloud/backport/34260/stable25
[stable25] Remove unneeded and problematic vue-cli-plugin-unit-test
2022-09-27 12:34:59 +02:00
Valdnet dbc421580e l10n: Correct text string
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-09-27 09:58:44 +00:00
Julius Härtl 89f8179e64 Add endpoint to fetch a cachable reference data
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-27 09:58:13 +00:00
Vincent Petry bc9f3d3d4c Remove unneeded and problematic vue-cli-plugin-unit-test
It was causing issues during dependency upgrades and wasn't really used
except for its preset definition.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-09-27 10:45:00 +02:00
Vincent Petry 9fe747f2c5 Fix loading custom background
Fix the route for loading the custom background.
Because the controller is UserThemeController, so the route path is
not "theming" but "userTheme".

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-09-27 08:24:41 +00:00
Vincent Petry 6f8b3916ad Merge pull request #34257 from nextcloud/backport/34247/stable25
[stable25] Bump nth-check and @vue/cli-service
2022-09-27 09:14:32 +02:00
Arthur Schiwon 82e9af439e 25.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-27 08:25:00 +02:00
Vincent Petry c471c8d6de Merge pull request #34268 from nextcloud/dependabot/npm_and_yarn/stable25/moment-2.29.4
[stable25] Bump moment from 2.29.3 to 2.29.4
2022-09-26 21:28:26 +02:00
Vincent Petry 42ca267d83 Fix install page
- Use normal labels instead of hiding them
- Fix position of the eye button (this is still very hacky)
- Define width on the box and not on the text fields

This really needs to be ported to vue

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-26 19:01:35 +00:00
Joas Schilling 981da3d49f Recompile
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 19:32:19 +02:00
Joas Schilling 7083596dc1 Bump moment from 2.29.3 to 2.29.4
Bumps [moment](https://github.com/moment/moment) from 2.29.3 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](moment/moment@2.29.3...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 19:31:55 +02:00
Joas Schilling ac2e94f121 Merge pull request #34258 from nextcloud/backport/33887/stable25
[stable25] Bump moment-timezone from 0.5.34 to 0.5.37
2022-09-26 19:22:40 +02:00
Joas Schilling de295ba8dd Recompile
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 15:21:20 +02:00
Joas Schilling 5d078383b6 Merge pull request #34237 from nextcloud/backport/34220/stable25
[stable25] Make phpcs happy and remove unused setup thing
2022-09-26 15:07:48 +02:00
Joas Schilling e938bbec19 Merge pull request #34253 from nextcloud/backport/34249/stable25
[stable25] Move Reference class to public namespace
2022-09-26 15:07:32 +02:00
Joas Schilling 1f0f227b43 Bump moment-timezone from 0.5.34 to 0.5.37
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.34 to 0.5.37.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.34...0.5.37)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 12:42:41 +00:00
dependabot[bot] b2fa292ee8 Bump nth-check and @vue/cli-service
Bumps [nth-check](https://github.com/fb55/nth-check) and [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service). These dependencies needed to be updated together.

Updates `nth-check` from 1.0.2 to 2.1.1
- [Release notes](https://github.com/fb55/nth-check/releases)
- [Commits](https://github.com/fb55/nth-check/compare/v1.0.2...v2.1.1)

Updates `@vue/cli-service` from 4.5.17 to 5.0.8
- [Release notes](https://github.com/vuejs/vue-cli/releases)
- [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-cli/commits/v5.0.8/packages/@vue/cli-service)

---
updated-dependencies:
- dependency-name: nth-check
  dependency-type: indirect
- dependency-name: "@vue/cli-service"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 12:40:09 +00:00
Joas Schilling cc6b12a166 Add since
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 10:44:24 +00:00
Julius Härtl b45d342654 Move Reference class to public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-26 10:44:24 +00:00
Jérôme Herbinet e43814f74d DashBoard : Allow up to 5 widgets side by side
Signed-off-by: Jérôme Herbinet <j.herbinet@protonmail.ch>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-26 06:07:05 +00:00
Joas Schilling 611b920e3d Merge pull request #34236 from nextcloud/backport/34210/stable25
[stable25] Fixing missing theming variables
2022-09-26 06:38:47 +02:00
Joas Schilling c25d61c7b8 Fix CS completely
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-26 06:38:01 +02:00
Joas Schilling 4be6d23d00 Merge pull request #34187 from nextcloud/bugfix/noid/fix-talk-testing
[stable25] Fix Talk checkout in video verification test
2022-09-26 06:13:03 +02:00
Vincent Petry f2bd15229a Make phpcs happy and remove unused setup thing
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-09-24 05:57:45 +00:00
John Molakvoæ a703818ee7 Refactor primary computation and fix a few missing theme parity variables
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-09-24 05:38:47 +00:00
John Molakvoæ 5ee61a5fc6 Disable background blur on highcontrast
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-09-24 05:38:47 +00:00
John Molakvoæ 019e85d92c Fixing dark primary element variables
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-09-24 05:38:47 +00:00
blizzz 1fae3ae4ae Merge pull request #34185 from nextcloud/release/25.0.0_rc_1
25.0.0 RC 1
2022-09-22 18:12:42 +02:00
blizzz c6c4328e2a Merge pull request #34196 from nextcloud/backport/34190/stable25
[stable25] remove CoreBundle as we now ship the lat app that was referenced there
2022-09-22 18:12:26 +02:00
Arthur Schiwon aff9302638 update autoloader
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 17:36:13 +02:00
Arthur Schiwon 1115199ae3 remove getDefaultInstallationBundle
- because all apps are shipped now it was returning an empty result

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 17:36:09 +02:00
Arthur Schiwon 86b787d21e remove InstallCoreBundle repair step
- core bundle was empty and thus removed
- all former apps installed this way are shipped

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 17:36:05 +02:00
Arthur Schiwon 359a37fd10 remove Core Bundle
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 17:36:00 +02:00
blizzz 079a8c0e0f Merge pull request #34192 from nextcloud/move-background-clearing-stable25
[stable25] Move avatar clearing in the background
2022-09-22 17:33:43 +02:00
Vincent Petry 42bc4a0b2a Merge pull request #34195 from nextcloud/backport/34160/stable25
[stable25] Detect weird local ips
2022-09-22 17:32:22 +02:00
Côme Chilliet 205760a3aa Fix idn_to_utf8 stub signature
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:58 +02:00
Côme Chilliet 2948697257 Update 3rdparty to master
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:50 +02:00
Côme Chilliet 3c47caf08b Fix tests for nested v4 in v6
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:42 +02:00
Côme Chilliet 515e05cf16 Use new dependency to normalize IPs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:34 +02:00
Côme Chilliet 060230eec7 Add mlocati/ip-lib dependency
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:22 +02:00
Côme Chilliet b2a893abad Add missing urldecode and idn_to_utf8 calls to local address checker
The call to idn_to_utf8 call is actually to apply normalization

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:39:14 +02:00
Côme Chilliet 95dcc610fc Harden tests for local IP detection in URLs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-09-22 16:38:57 +02:00
Carl Schwan a5a8f4e9ef Move avatar clearing in the background
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
(cherry picked from commit e21e53670c60b74ca2c49c01bf510ccdc5115b0d)
2022-09-22 15:42:13 +02:00
blizzz 9366ec0fb8 Merge pull request #34184 from nextcloud/backport/34183/stable25
[stable25] Bumped shipped apps list
2022-09-22 12:56:07 +02:00
Joas Schilling bfaa31af61 Fix Talk checkout in video verification test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-22 11:49:28 +02:00
Arthur Schiwon 063aac8ebc 25.0.0 RC 1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-22 11:21:54 +02:00
Joas Schilling 773826f9e1 Bumped shipped apps list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-22 11:21:09 +02:00
7697 changed files with 212281 additions and 326013 deletions
+15
View File
@@ -0,0 +1,15 @@
codecov:
branch: master
ci:
- drone.nextcloud.com
- !scrutinizer-ci.com
coverage:
precision: 2
round: down
range: "70...100"
status:
project: off
patch: off
comment: off
+28 -67
View File
@@ -1,56 +1,34 @@
FROM ubuntu:jammy
FROM ubuntu:focal
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get update -y
RUN apt-get install --no-install-recommends -y \
php8.1 \
php8.1-common \
php8.1-gd \
php8.1-zip \
php8.1-curl \
php8.1-xml \
php8.1-xmlrpc \
php8.1-mbstring \
php8.1-sqlite \
php8.1-xdebug \
php8.1-pgsql \
php8.1-intl \
php8.1-imagick \
php8.1-gmp \
php8.1-apcu \
php8.1-bcmath \
php8.1-redis \
php8.1-soap \
php8.1-imap \
php8.1-opcache \
php8.1-cli \
php8.1-dev \
php7.4 \
php7.4-gd \
php7.4-zip \
php7.4-curl \
php7.4-xml \
php7.4-mbstring \
php7.4-sqlite \
php7.4-xdebug \
php7.4-pgsql \
php7.4-intl \
php7.4-imagick \
php7.4-gmp \
php7.4-apcu \
php7.4-bcmath \
libmagickcore-6.q16-3-extra \
curl \
vim \
lsof \
make \
unzip
nodejs \
npm
# 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.1/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.1/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.1/apache2/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_enable = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
# Docker
RUN apt-get -y install \
@@ -58,29 +36,12 @@ RUN apt-get -y install \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
software-properties-common
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
RUN 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
stable"
RUN apt-get update -y
RUN apt-get install -y docker-ce docker-ce-cli containerd.io
RUN ln -s /var/run/docker-host.sock /var/run/docker.sock
-72
View File
@@ -1,72 +0,0 @@
# 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/features/codespaces).
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.
+3 -7
View File
@@ -1,7 +1,6 @@
<?php
$codespaceName = getenv('CODESPACE_NAME');
$codespaceDomain = getenv('GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN');
$cloudEnvironmentId = getenv('CLOUDENV_ENVIRONMENT_ID');
$CONFIG = [
'mail_from_address' => 'no-reply',
@@ -13,10 +12,7 @@ $CONFIG = [
'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;
if($cloudEnvironmentId !== true) {
$CONFIG['overwritehost'] = $cloudEnvironmentId . '-80.apps.codespaces.githubusercontent.com';
$CONFIG['overwriteprotocol'] = 'https';
$CONFIG['trusted_domains'] = [ $host ];
}
+11 -17
View File
@@ -3,26 +3,20 @@
"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"
"runArgs": [
"--privileged"
],
"extensions": [
"felixfbecker.php-debug",
"felixfbecker.php-intellisense",
"ms-azuretools.vscode-docker"
],
"settings": {
"php.suggest.basic": false,
}
}
+1 -8
View File
@@ -5,8 +5,7 @@ services:
volumes:
- .:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/var/www/html
command: /var/www/html/.devcontainer/entrypoint.sh
command: /bin/sh -c "while sleep 1000; do :; done"
ports:
- 80:80
- 8080:8080
@@ -17,9 +16,6 @@ services:
restart: always
environment:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
adminer:
@@ -31,6 +27,3 @@ services:
image: mailhog/mailhog
restart: always
network_mode: service:nextclouddev
volumes:
db:
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
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
}
]
}
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
-21
View File
@@ -2,28 +2,7 @@
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
+385 -120
View File
@@ -1,4 +1,3 @@
---
kind: pipeline
name: checkers
@@ -8,7 +7,7 @@ steps:
commands:
- git submodule update --init
- name: checkers
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- ./autotest-checkers.sh
secrets: [ github_token ]
@@ -31,12 +30,12 @@ steps:
commands:
- git submodule update --init
- name: litmus-v1
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v1/script.sh
- name: litmus-v2
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v2/script.sh
@@ -59,7 +58,7 @@ steps:
commands:
- git submodule update --init
- name: caldavtester-new-endpoint
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@@ -83,7 +82,7 @@ steps:
commands:
- git submodule update --init
- name: caldavtester-old-endpoint
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@@ -107,7 +106,7 @@ steps:
commands:
- git submodule update --init
- name: carddavtester-new-endpoint
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@@ -131,7 +130,7 @@ steps:
commands:
- git submodule update --init
- name: carddavtester-old-endpoint
image: ghcr.io/nextcloud/continuous-integration-litmus-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-litmus-php7.4:latest
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@@ -154,8 +153,8 @@ steps:
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: sqlite-php8.0-samba-native
image: ghcr.io/nextcloud/continuous-integration-samba-native-php8.0:latest
- name: sqlite-php7.4-samba-native
image: ghcr.io/nextcloud/continuous-integration-samba-native-php7.4:latest
commands:
- smbd -D -FS &
- ./autotest-external.sh sqlite smb-linux
@@ -165,8 +164,8 @@ steps:
- 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-external-clover-sqlite-smb-linux.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-external-clover-sqlite-smb-linux.xml; fi"
# Temporarily disabled because it times out for unknown reasons 98% of the time
#- name: sqlite-php8.0-samba-non-native
# image: ghcr.io/nextcloud/continuous-integration-samba-non-native-php8.0:latest
#- name: sqlite-php7.4-samba-non-native
# image: ghcr.io/nextcloud/continuous-integration-samba-non-native-php7.4:latest
# commands:
# - smbd -D -FS &
# - ./autotest-external.sh sqlite smb-linux
@@ -186,15 +185,15 @@ trigger:
---
kind: pipeline
name: sqlite-php8.0-webdav-apache
name: sqlite-php7.4-webdav-apache
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: sqlite-php8.0-webdav-apache
image: ghcr.io/nextcloud/continuous-integration-webdav-apache-php8.0:latest
- name: sqlite-php7.4-webdav-apache
image: ghcr.io/nextcloud/continuous-integration-webdav-apache-php7.4:latest
commands:
- apache2ctl start
- ./autotest-external.sh sqlite webdav-apachedrone
@@ -225,6 +224,11 @@ steps:
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: nodb-php7.4
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
- name: nodb-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
commands:
@@ -252,6 +256,11 @@ steps:
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: sqlite-php7.4
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
- name: sqlite-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
commands:
@@ -272,15 +281,15 @@ trigger:
---
kind: pipeline
name: mariadb10.2-php8.0
name: mariadb10.2-php7.4
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: mariadb10.2-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
- name: mariadb10.2-php7.4
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
@@ -365,7 +374,7 @@ services:
- name: cache
image: ghcr.io/nextcloud/continuous-integration-redis:latest
- name: mariadb
image: ghcr.io/nextcloud/continuous-integration-mariadb-10.6:latest
image: ghcr.io/nextcloud/continuous-integration-mariadb-10.6continuous-integration-mariadb-10.6:10.6
environment:
MYSQL_ROOT_PASSWORD: owncloud
MYSQL_USER: oc_autotest
@@ -386,15 +395,15 @@ trigger:
---
kind: pipeline
name: mysql8.0-php8.0
name: mysql8.0-php7.4
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: mysql-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
- name: mysql-php7.4
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
@@ -425,15 +434,15 @@ trigger:
---
kind: pipeline
name: postgres10-php8.0
name: postgres10-php7.4
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: postgres-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
- name: postgres-php7.4
image: ghcr.io/nextcloud/continuous-integration-php7.4:php7.4-3
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
@@ -446,7 +455,7 @@ services:
image: ghcr.io/nextcloud/continuous-integration-postgres-10:postgres-10
environment:
POSTGRES_USER: oc_autotest
POSTGRES_DB: oc_autotest
POSTGRES_DB: oc_autotest_dummy
POSTGRES_PASSWORD: owncloud
tmpfs:
- /var/lib/postgresql/data
@@ -461,15 +470,15 @@ trigger:
---
kind: pipeline
name: postgres11-php8.0
name: postgres11-php7.4
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: postgres-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
- name: postgres-php7.4
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
@@ -482,7 +491,7 @@ services:
image: ghcr.io/nextcloud/continuous-integration-postgres-11:postgres-11
environment:
POSTGRES_USER: oc_autotest
POSTGRES_DB: oc_autotest
POSTGRES_DB: oc_autotest_dummy
POSTGRES_PASSWORD: owncloud
tmpfs:
- /var/lib/postgresql/data
@@ -518,43 +527,7 @@ services:
image: ghcr.io/nextcloud/continuous-integration-postgres-13:postgres-13
environment:
POSTGRES_USER: oc_autotest
POSTGRES_DB: oc_autotest
POSTGRES_PASSWORD: owncloud
tmpfs:
- /var/lib/postgresql/data
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: postgres15-php8.0
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: postgres-php8.0
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
commands:
- bash tests/drone-run-php-tests.sh || exit 0
- sleep 10 # gives the database enough time to initialize
- POSTGRES=15 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
services:
- name: cache
image: ghcr.io/nextcloud/continuous-integration-redis:latest
- name: postgres-15
image: ghcr.io/nextcloud/continuous-integration-postgres-15:latest
environment:
POSTGRES_USER: oc_autotest
POSTGRES_DB: oc_autotest
POSTGRES_DB: oc_autotest_dummy
POSTGRES_PASSWORD: owncloud
tmpfs:
- /var/lib/postgresql/data
@@ -577,7 +550,7 @@ steps:
commands:
- git submodule update --init
- name: integration-capabilities_features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -602,7 +575,7 @@ steps:
commands:
- git submodule update --init
- name: integration-collaboration_features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -627,7 +600,7 @@ steps:
commands:
- git submodule update --init
- name: integration-federation_features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin
@@ -652,7 +625,7 @@ steps:
commands:
- git submodule update --init
- name: integration-auth
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -677,7 +650,7 @@ steps:
commands:
- git submodule update --init
- name: integration-avatar
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -702,7 +675,7 @@ steps:
commands:
- git submodule update --init
- name: integration-maintenance-mode
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -727,7 +700,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ratelimiting
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -762,7 +735,7 @@ steps:
commands:
- git submodule update --init
- name: integration-carddav
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -787,7 +760,7 @@ steps:
commands:
- git submodule update --init
- name: integration-dav-v2
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -812,7 +785,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ocs-v1
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -837,7 +810,7 @@ steps:
commands:
- git submodule update --init
- name: integration-checksums-v1
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -862,7 +835,7 @@ steps:
commands:
- git submodule update --init
- name: integration-external-storage
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -887,7 +860,7 @@ steps:
commands:
- git submodule update --init
- name: integration-provisioning-v1
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -912,7 +885,7 @@ steps:
commands:
- git submodule update --init
- name: integration-tags
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -937,7 +910,7 @@ steps:
commands:
- git submodule update --init
- name: integration-caldav
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -962,7 +935,7 @@ steps:
commands:
- git submodule update --init
- name: integration-comments
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -987,7 +960,7 @@ steps:
commands:
- git submodule update --init
- name: integration-comments-search
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1012,7 +985,7 @@ steps:
commands:
- git submodule update --init
- name: integration-contacts-menu
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1037,7 +1010,7 @@ steps:
commands:
- git submodule update --init
- name: integration-favorites
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1062,7 +1035,7 @@ steps:
commands:
- git submodule update --init
- name: integration-provisioning-v2
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1087,7 +1060,7 @@ steps:
commands:
- git submodule update --init
- name: integration-webdav-related
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1112,7 +1085,7 @@ steps:
commands:
- git submodule update --init
- name: integration-sharees-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1137,7 +1110,7 @@ steps:
commands:
- git submodule update --init
- name: integration-sharees-v2-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1162,7 +1135,7 @@ steps:
commands:
- git submodule update --init
- name: integration-sharing-v1
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1187,7 +1160,7 @@ steps:
commands:
- git submodule update --init
- name: integration-sharing-v1-part2
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1212,7 +1185,7 @@ steps:
commands:
- git submodule update --init
- name: integration-sharing-v1-part3
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1237,18 +1210,13 @@ steps:
commands:
- git submodule update --init
- name: install-talk
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
# JavaScript files are not used in integration tests, so it is not needed to
# JavaScript files are not used in integration tests so it is not needed to
# build them.
- git clone --depth 1 --branch main https://github.com/nextcloud/spreed apps/spreed
- cd apps/spreed
- composer --version
- composer self-update --2
- composer install --no-dev
- cd ../..
- git clone --depth 1 --branch stable25 https://github.com/nextcloud/spreed apps/spreed
- name: integration-sharing-v1-video-verification
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1273,7 +1241,7 @@ steps:
commands:
- git submodule update --init
- name: integration-setup-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- cd build/integration
@@ -1297,7 +1265,7 @@ steps:
commands:
- git submodule update --init
- name: integration-filesdrop-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1322,7 +1290,7 @@ steps:
commands:
- git submodule update --init
- name: integration-transfer-ownership-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1347,7 +1315,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ldap-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1372,7 +1340,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ldap-openldap-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1413,7 +1381,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ldap-openldap-uid-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1455,7 +1423,7 @@ steps:
commands:
- git submodule update --init
- name: integration-ldap-openldap-numerical-id-features
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1496,7 +1464,7 @@ steps:
commands:
- git submodule update --init
- name: integration-trashbin
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1521,7 +1489,7 @@ steps:
commands:
- git submodule update --init
- name: integration-remote-api
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1546,7 +1514,7 @@ steps:
commands:
- git submodule update --init
- name: integration-download
image: ghcr.io/nextcloud/continuous-integration-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int
@@ -1561,6 +1529,306 @@ trigger:
- pull_request
- push
---
kind: pipeline
name: acceptance-access-levels
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-access-levels
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-access-levels --selenium-server selenium:4444 allow-git-repository-modifications features/access-levels.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-app-files
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-app-files
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files --selenium-server selenium:4444 allow-git-repository-modifications features/app-files.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-app-files-sharing
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-app-files-sharing
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-app-files-sharing-link
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-app-files-sharing-link
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-sharing-link --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-sharing-link.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-app-files-tags
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-app-files-tags
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-tags --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-tags.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-app-theming
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-app-theming
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-theming --selenium-server selenium:4444 allow-git-repository-modifications features/app-theming.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-header
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-header
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-header --selenium-server selenium:4444 allow-git-repository-modifications features/header.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-login
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-login
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-login --selenium-server selenium:4444 allow-git-repository-modifications features/login.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-users
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-users
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-users --selenium-server selenium:4444 allow-git-repository-modifications features/users.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: acceptance-apps
steps:
- name: submodules
image: ghcr.io/nextcloud/continuous-integration-alpine-git:latest
commands:
- git submodule update --init
- name: acceptance-apps
image: ghcr.io/nextcloud/continuous-integration-acceptance-php7.4:latest
commands:
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-apps --selenium-server selenium:4444 allow-git-repository-modifications features/apps.feature
services:
- name: selenium
image: ghcr.io/nextcloud/continuous-integration-selenium:3.141.59
environment:
# Reduce default log level for Selenium server (INFO) as it is too
# verbose.
JAVA_OPTS: -Dselenium.LOGGER.level=WARNING
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: nodb-codecov
@@ -1571,7 +1839,7 @@ steps:
commands:
- git submodule update --init
- name: nodb-codecov
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
environment:
CODECOV_TOKEN:
from_secret: CODECOV_TOKEN
@@ -1603,7 +1871,7 @@ steps:
commands:
- git submodule update --init
- name: db-codecov
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
environment:
CODECOV_TOKEN:
from_secret: CODECOV_TOKEN
@@ -1644,7 +1912,7 @@ steps:
commands:
- git submodule update --init
- name: object-store
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
environment:
OBJECT_STORE: s3
CODECOV_TOKEN:
@@ -1674,7 +1942,7 @@ steps:
commands:
- git submodule update --init
- name: object-store
image: ghcr.io/nextcloud/continuous-integration-php8.0:latest
image: ghcr.io/nextcloud/continuous-integration-integration-php7.4:latest
environment:
OBJECT_STORE: azure
CODECOV_TOKEN:
@@ -1710,7 +1978,7 @@ steps:
commands:
- git submodule update --init
- name: memcache-memcached
image: ghcr.io/nextcloud/continuous-integration-php8.0-memcached:latest
image: ghcr.io/nextcloud/continuous-integration-php7.4-memcached:latest
commands:
- phpenmod xdebug
- service memcached restart
@@ -1726,6 +1994,3 @@ trigger:
event:
- pull_request
- push
---
kind: signature
hmac: 641c0bf70ed3d9561f41687c19dd5223da37143cbd6c2ad829836da41b57d4c5
-12
View File
@@ -23,15 +23,3 @@ 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
+4 -11
View File
@@ -3,20 +3,13 @@ module.exports = {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
escapeHTML: true,
oc_userconfig: true,
sinon: true,
dayNames: true,
firstDay: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
extends: ['@nextcloud'],
rules: {
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
+1 -3
View File
@@ -1,4 +1,2 @@
/dist/* binary
/package-lock.json merge=binary
/core/css/*.css* binary
/.devcontainer/*.sh text eol=lf
/package-lock.json binary
+14 -59
View File
@@ -1,64 +1,19 @@
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @mejo-
/apps/comments/appinfo/info.xml @marcelklehr @Pytal
/apps/contactsinteraction/appinfo/info.xml @kesselb @miaulalala @ChristophWurst @GretaD @hamza221 @st3iny
/apps/dashboard/appinfo/info.xml @julien-nc @juliushaertl
/apps/dav/lib/CalDAV @ChristophWurst @miaulalala @tcitworld
/apps/dav/lib/CardDAV @ChristophWurst @miaulalala @tcitworld
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @datenangebot
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @Fenn-CS
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @Pytal @icewind1991
/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 @Pytal @JuliaKirschenheuter
/apps/sharebymail/appinfo/info.xml @Altahrim
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliushaertl
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @Pytal @JuliaKirschenheuter
/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 @juliushaertl
/apps/workflowengine/appinfo/info.xml @blizzz @juliushaertl
# Security team
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @ChristophWurst @miaulalala @nickvergessen
/.drone.yml @nickvergessen
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/apps/dav/lib/CalDAV @ChristophWurst @miaulalala @tcitworld
/apps/dav/lib/CardDAV @ChristophWurst @miaulalala @tcitworld
# 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
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
*/TwoFactorAuth/* @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim
/apps/user_status @CarlSchwan
/apps/settings/lib @CarlSchwan
/lib/private/Metadata @CarlSchwan
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
# OpenAPI
openapi*.json @provokateurin
ResponseDefinitions.php @provokateurin
# Talk team
/lib/private/Comments @nickvergessen
/lib/private/Federation @nickvergessen
/lib/private/Talk @nickvergessen
/lib/public/Comments @nickvergessen
/lib/public/Federation @nickvergessen
/lib/public/OCM @nickvergessen
/lib/public/Talk @nickvergessen
/lib/public/UserStatus @nickvergessen
# Personal interest
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
# Security team
resources/config/ca-bundle.crt @ChristophWurst @eneiluj @miaulalala @nickvergessen
+11 -20
View File
@@ -17,10 +17,12 @@ body:
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)_.
- label: This issue is **not** already reported on Github _(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: Nextcloud Server **is** running on 64bit capable CPU, PHP and OS.
required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
@@ -60,6 +62,7 @@ body:
Select installation method you've used.
_Describe the method in the "Additional info" section if you chose "Other"._
options:
- "Official All-in-One appliance"
- "Community Web installer on a VPS or web space"
- "Community Manual installation with Archive"
- "Community Docker image"
@@ -67,21 +70,6 @@ body:
- "Community SNAP package"
- "Community VM appliance"
- "Other Community project"
- "Official All-in-One appliance"
- 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:
- "26"
- "27"
- "28"
- "master"
validations:
required: true
- type: dropdown
id: system
attributes:
@@ -101,10 +89,10 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 7.3"
- "PHP 7.4"
- "PHP 8.0"
- "PHP 8.1"
- "PHP 8.2"
- "PHP 8.3"
- "Other"
- type: dropdown
id: webserver
@@ -116,6 +104,7 @@ body:
options:
- "Apache (supported)"
- "Nginx"
- "Lighttpd"
- "Other"
- type: dropdown
id: database
@@ -138,8 +127,8 @@ body:
description: |
Select if bug is present after an update or on a fresh install.
options:
- "Updated from a MINOR version (ex. 22.1 to 22.2)"
- "Upgraded to a MAJOR version (ex. 22 to 23)"
- "Updated from a minor version (ex. 22.2.3 to 22.2.4)"
- "Updated to a major version (ex. 22.2.3 to 23.0.1)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
@@ -189,6 +178,8 @@ body:
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
validations:
required: true
- type: textarea
id: nextcloud-signingstatus
attributes:
+10 -27
View File
@@ -28,8 +28,6 @@ updates:
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing master npm
- package-ecosystem: npm
@@ -64,7 +62,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable26
target-branch: stable22
labels:
- "3. to review"
- "feature: dependencies"
@@ -74,8 +72,6 @@ updates:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
@@ -84,7 +80,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
target-branch: stable23
labels:
- "3. to review"
- "feature: dependencies"
@@ -93,9 +89,7 @@ updates:
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- package-ecosystem: npm
directory: "/"
@@ -104,7 +98,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
target-branch: stable24
labels:
- "3. to review"
- "feature: dependencies"
@@ -113,9 +107,7 @@ updates:
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Testing StableXX composer
- package-ecosystem: composer
@@ -125,7 +117,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable26
target-branch: stable22
labels:
- "3. to review"
- "feature: dependencies"
@@ -143,7 +135,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
target-branch: stable23
labels:
- "3. to review"
- "feature: dependencies"
@@ -152,7 +144,7 @@ updates:
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- package-ecosystem: composer
directory: "/build/integration"
@@ -161,7 +153,7 @@ updates:
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
target-branch: stable24
labels:
- "3. to review"
- "feature: dependencies"
@@ -170,13 +162,4 @@ updates:
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
update-types: ["version-update:semver-major", "version-update:semver-minor"]
-18
View File
@@ -1,18 +0,0 @@
* 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)
+3 -10
View File
@@ -3,17 +3,10 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Block merges for EOL
name: Pull request checks
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
@@ -31,7 +24,7 @@ jobs:
# retrieve version number from branch reference
server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p')
echo "server_major=$server_major" >> $GITHUB_ENV
- name: Checking if ${{ env.server_major }} is EOL
run: |
php -r 'echo json_encode(require_once "config.php");' | jq --arg version "${{ env.server_major }}" '.stable[$version]["100"].eol // .beta[$version]["100"].eol' | grep --silent -i 'false'
php -r 'echo json_encode(require_once "config.php");' | jq --arg version "${{ env.server_major }}" '.stable[$version]["100"].eol' | grep --silent -i 'false'
+3 -14
View File
@@ -3,24 +3,13 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Block merges during freezes
name: Pull request checks
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
on: pull_request
jobs:
block-merges-during-freeze:
name: Block merges during freezes
if: github.event.pull_request.draft == false
name: Block merges during feature freezes
runs-on: ubuntu-latest
+26 -29
View File
@@ -18,49 +18,43 @@ jobs:
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2
uses: skjnldsv/check-actor-permission@v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "+1"
reaction-type: "+1"
- name: Parse command
uses: skjnldsv/parse-command-comment@7cef1df370a99dfd5bf896d50121390c96785db8 # v2
uses: skjnldsv/parse-command-comment@master
id: command
# Init path depending on which command is run
- name: Init path
id: git-path
run: |
run: |
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg1}}"
else
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg2}}"
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
uses: xt0rted/pull-request-comment-branch@v1
id: comment-branch
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@v2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
@@ -72,14 +66,14 @@ jobs:
git config --local user.name "nextcloud-command"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@v1
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^12'
fallbackNpm: '^6'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v3
uses: actions/setup-node@v2
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
@@ -88,39 +82,42 @@ jobs:
run: npm i -g npm@"${{ steps.package-engines-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: Build css
run: npm run --if-present sass
- name: Build icons css
run: npm run --if-present sass:icons
- name: Commit and push default
if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git commit --signoff -m 'chore(assets): Recompile assets'
git add ${{ needs.init.outputs.git_path }}
git commit --signoff -m 'Compile assets'
git push origin ${{ needs.init.outputs.head_ref }}
- name: Commit and push fixup
if: ${{ needs.init.outputs.arg1 == 'fixup' }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git add ${{ needs.init.outputs.git_path }}
git commit --fixup=HEAD --signoff
git push origin ${{ needs.init.outputs.head_ref }}
- name: Commit and push amend
if: ${{ needs.init.outputs.arg1 == 'amend' }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git add ${{ needs.init.outputs.git_path }}
git commit --amend --no-edit --signoff
git push --force origin ${{ needs.init.outputs.head_ref }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
uses: peter-evans/create-or-update-comment@v1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "-1"
reaction-type: "-1"
@@ -1,60 +0,0 @@
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@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "+1"
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.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: Pull 3rdparty
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin ${{ github.event.issue.pull_request.base.ref }}; fi'
- name: Commit and push changes
run: |
git add 3rdparty
git commit -s -m "Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}"
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # 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"
+6 -6
View File
@@ -9,8 +9,8 @@ on:
issue_comment:
types: created
permissions:
contents: read
permissions:
contents: read
jobs:
rebase:
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
uses: peter-evans/create-or-update-comment@v2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -31,18 +31,18 @@ jobs:
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.5.2
uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
uses: cirrus-actions/rebase@1.7
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
uses: peter-evans/create-or-update-comment@v2
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
-162
View File
@@ -1,162 +0,0 @@
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 }}
# Server requires head_ref instead of base_ref, as we want to test the PR branch
BRANCH: ${{ github.head_ref || github.ref_name }}
jobs:
init:
runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^9"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
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@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
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", 0, 1, 2, 3, 4, 5]
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always aling this number with the total of e2e runners (max. index + 1)
total-containers: [6]
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
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@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
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: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@ebe8b24c4428922d0f793a5c4c96853a633180e3 # v6.6.0
with:
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 }}
- name: Upload snapshots
uses: actions/upload-artifact@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6 # v4.2.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
path: cypress/snapshots
- 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@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6 # v4.2.0
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-server tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6 # v4.2.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
path: data.tar
summary:
runs-on: ubuntu-latest
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
+2 -13
View File
@@ -8,33 +8,22 @@ name: Dependabot
on:
pull_request_target:
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.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
steps:
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
- uses: hmarr/auto-approve-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
- uses: ahmadnassri/action-dependabot-auto-merge@v2
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
+3 -16
View File
@@ -3,31 +3,18 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Block fixup and squash commits
name: Pull request checks
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
on: pull_request
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
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
uses: xt0rted/block-autosquash-commits-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
+19 -25
View File
@@ -1,14 +1,15 @@
name: FTP unit tests
name: FTP
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- '.github/**'
- 'apps/files_external/**'
concurrency:
group: ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
APP_NAME: files_external
@@ -16,58 +17,51 @@ jobs:
ftp-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
php-versions: ['7.4', '8.0']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
with:
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
sudo chown -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e FTP_USERNAME=test -e FTP_PASSWORD=test -v /tmp/ftp:/home/test hauptmedia/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
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/ftp2:/home/test -v /tmp/ftp2:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
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 ${{ env.APP_NAME }}
php -S localhost:8080 &
- 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"));'
php -r 'var_dump(file_put_contents("ftp://test:test@localhost/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: |
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/${{ env.APP_NAME }}/tests/config.ftp.php
composer run test:files_external apps/files_external/tests/Storage/FtpTest.php
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => ''];" > apps/${{ env.APP_NAME }}/tests/config.ftp.php
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/FtpTest.php
- name: ftpd logs
if: always()
run: |
+11 -63
View File
@@ -2,69 +2,35 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint eslint
name: Lint
on:
pull_request:
permissions:
contents: read
concurrency:
group: lint-eslint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
push:
branches:
- master
- stable*
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
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
name: eslint
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@v2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@v1.1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^12'
fallbackNpm: '^6'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
uses: actions/setup-node@v2
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -72,25 +38,7 @@ jobs:
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
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
-78
View File
@@ -1,78 +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
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
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
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@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: 8.1
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
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
-82
View File
@@ -1,82 +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
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
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
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.0", "8.1", "8.2", "8.3" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
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
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
+42
View File
@@ -0,0 +1,42 @@
name: Lint
on: pull_request
jobs:
php-linters:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2']
name: php${{ matrix.php-versions }} lint
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Lint
run: composer run lint
php-cs-fixer:
name: php-cs check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
tools: cs2pr
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: |
composer run cs:check -- --format=checkstyle | cs2pr
composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
shell: bash
+21 -98
View File
@@ -1,78 +1,40 @@
name: Node tests
name: Node
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
push:
branches:
- master
- stable*
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- '**.handlebars'
versions:
runs-on: ubuntu-latest
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@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1
uses: skjnldsv/read-package-engines-version-actions@v1.1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^12'
fallbackNpm: '^6'
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
needs: versions
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
uses: actions/setup-node@v2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -82,32 +44,19 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: ./coverage/lcov.info
- name: Test
run: npm run test
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
needs: versions
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
uses: actions/setup-node@v2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -117,28 +66,19 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Test
run: npm run test:jsunit
run: ./autotest-js.sh
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
needs: versions
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
uses: actions/setup-node@v2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -148,22 +88,5 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest
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
+17 -53
View File
@@ -7,58 +7,33 @@ name: Node
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: node-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
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'
build:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
name: node
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.6.0
uses: actions/checkout@v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@v1.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^12'
fallbackNpm: '^6'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
uses: actions/setup-node@v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -66,13 +41,16 @@ jobs:
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: Build css
run: npm run sass
- name: Build icons css
run: npm run sass:icons
- 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)"
@@ -84,17 +62,3 @@ jobs:
git --no-pager diff
exit 1 # make it red to grab attention
summary:
permissions:
contents: none
runs-on: ubuntu-latest
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
-74
View File
@@ -1,74 +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
name: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["main", "master", "stable28", "stable27", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.6.0
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
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
run: |
npm audit fix
- name: Run npm ci and npm run build
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(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: |
Auto-generated fix of npm audit
labels: |
dependencies
3. to review
+55
View File
@@ -0,0 +1,55 @@
name: PHPUnit
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
phpunit-oci8:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php-versions: [ '7.4', '8.0', '8.1']
databases: [ 'oci' ]
name: php${{ matrix.php-versions }}-${{ matrix.databases }}
services:
oracle:
image: deepdiver/docker-oracle-xe-11g # "wnameless/oracle-xe-11g-r2"
ports:
- "1521:1521"
steps:
- name: Checkout server
uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,oci8,openssl,pdo_sqlite,posix,sqlite,xml,zip
tools: phpunit:9
coverage: none
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=oci --database-name=XE --database-host=127.0.0.1 --database-port=1521 --database-user=autotest --database-pass=owncloud --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
working-directory: tests
run: phpunit --configuration phpunit-autotest.xml --group DB,SLOWDB
-33
View File
@@ -1,33 +0,0 @@
name: OpenAPI
on:
pull_request:
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@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: xml
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: OpenAPI checker
run: build/openapi-checker.sh
+9 -19
View File
@@ -2,16 +2,10 @@ name: Performance testing
on:
pull_request:
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' }}
strategy:
fail-fast: false
matrix:
@@ -21,18 +15,17 @@ jobs:
steps:
- name: Checkout server before PR
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v3
with:
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
@@ -46,7 +39,7 @@ jobs:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
uses: nextcloud/profiler@fa03a1e6864fcb63fb92b8940fa72f5191baffbe
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -55,20 +48,18 @@ jobs:
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
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 fetch origin ${{ github.event.pull_request.head.ref }}
git checkout ${{ github.event.pull_request.head.ref }}
git submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
uses: nextcloud/profiler@fa03a1e6864fcb63fb92b8940fa72f5191baffbe
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -77,19 +68,18 @@ jobs:
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@694cdabd8bdb0f10b2cea11669e1bf5453eed0a6
uses: actions/upload-artifact@v2
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@v7
- uses: actions/github-script@v5
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
-64
View File
@@ -1,64 +0,0 @@
name: PHPUnit 32bits
on:
pull_request:
paths:
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
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:
matrix:
php-versions: ['8.0','8.3']
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
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@72ae4ccbe57f82bbe08411e84e2130bd4ba1c10f #v2.25.5
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
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 Nextcloud
env:
DB_PORT: 4444
run: |
composer install
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 index.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-109
View File
@@ -1,109 +0,0 @@
name: PHPUnit oci
on:
pull_request:
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
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'
phpunit-oci:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2']
services:
oracle:
image: ghcr.io/gvenzl/oracle-xe:11
# Provide passwords and other environment variables to container
env:
ORACLE_RANDOM_PASSWORD: true
APP_USER: autotest
APP_USER_PASSWORD: owncloud
# Forward Oracle port
ports:
- 1521:1521/tcp
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, oci8, openssl, pcntl, pdo_sqlite, posix, sqlite, xml, zip
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=oci --database-name=XE --database-host=127.0.0.1 --database-port=1521 --database-user=autotest --database-pass=owncloud --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
run: composer run test:db
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
summary:
permissions:
contents: none
runs-on: ubuntu-latest
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
-29
View File
@@ -1,29 +0,0 @@
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
pr-feedback:
runs-on: ubuntu-22.04
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
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 reviewing 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 reviewing 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!
days-before-feedback: 14
start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }}"
exempt-bots: true
+28
View File
@@ -0,0 +1,28 @@
name: Psalm show github
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Psalm
uses: docker://vimeo/psalm-github-actions:4.9.3
continue-on-error: true
with:
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif
+28
View File
@@ -0,0 +1,28 @@
name: Psalm Security Analysis
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Psalm
uses: docker://vimeo/psalm-github-actions:4.9.3
with:
security_analysis: true
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Security Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif
+18 -24
View File
@@ -1,13 +1,15 @@
name: S3 External storage
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- 'apps/files_external/**'
concurrency:
group: s3-external-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
APP_NAME: files_external
@@ -15,13 +17,11 @@ jobs:
s3-external-tests-minio:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['7.4', '8.0']
name: php${{ matrix.php-versions }}-minio
@@ -36,21 +36,19 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
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 ${{ env.APP_NAME }}
@@ -58,8 +56,8 @@ jobs:
- name: PHPUnit
run: |
echo "<?php return ['run' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => 'minio','secret' => 'minio123', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/${{ env.APP_NAME }}/tests/config.amazons3.php
composer run test:files_external apps/files_external/tests/Storage/Amazons3Test.php
composer run test:files_external apps/files_external/tests/Storage/VersionedAmazonS3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/Amazons3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/VersionedAmazonS3Test.php
- name: S3 logs
if: always()
run: |
@@ -68,13 +66,11 @@ jobs:
s3-external-tests-localstack:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['7.4', '8.0']
name: php${{ matrix.php-versions }}-localstack
@@ -89,21 +85,19 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
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 ${{ env.APP_NAME }}
@@ -111,8 +105,8 @@ jobs:
- name: PHPUnit
run: |
echo "<?php return ['run' => true,'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/${{ env.APP_NAME }}/tests/config.amazons3.php
composer run test:files_external apps/files_external/tests/Storage/Amazons3Test.php
composer run test:files_external apps/files_external/tests/Storage/VersionedAmazonS3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/Amazons3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/VersionedAmazonS3Test.php
- name: S3 logs
if: always()
run: |
@@ -1,95 +0,0 @@
name: S3 primary storage integration tests
on:
pull_request:
paths:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
concurrency:
group: s3-external-integration-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
s3-primary-integration-tests-minio:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: redis
ports:
- "6379:6379"
minio:
env:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
image: bitnami/minio:2021.12.29
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, redis
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" => "minio", "secret" => "minio123", "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" 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:
runs-on: ubuntu-latest
needs: [s3-primary-integration-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.s3-primary-integration-tests-minio.result != 'success' }}; then exit 1; fi
+13 -24
View File
@@ -1,26 +1,14 @@
name: S3 primary storage
on:
pull_request:
paths:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
concurrency:
group: s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
push:
branches:
- master
- stable*
jobs:
s3-primary-tests-minio:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
@@ -36,27 +24,25 @@ jobs:
env:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
image: bitnami/minio:2021.12.29
image: bitnami/minio:2021.10.6
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "minio", "secret" => "minio123", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > 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
@@ -66,9 +52,12 @@ jobs:
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
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
working-directory: tests
run: phpunit --configuration phpunit-autotest.xml --group DB,SLOWDB
- name: S3 logs
if: always()
run: |
-73
View File
@@ -1,73 +0,0 @@
name: SFTP unit tests
on:
pull_request:
paths:
- 'apps/files_external/**'
env:
APP_NAME: files_external
concurrency:
group: sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
sftp-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
sftpd: ['openssh']
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
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@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
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 ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
run: |
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/${{ env.APP_NAME }}/tests/config.sftp.php
composer run test:files_external apps/files_external/tests/Storage/SftpTest.php
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest
needs: sftp-tests
if: always()
steps:
- name: Summary status
run: if ${{ needs.sftp-tests.result != 'success' }}; then exit 1; fi
+54 -31
View File
@@ -1,55 +1,78 @@
name: Samba Kerberos SSO
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- 'apps/files_external/**'
- '.github/workflows/smb-kerberos.yml'
concurrency:
group: smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
smb-kerberos-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
php-versions: ['7.4', '8.0']
name: smb-kerberos-sso
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
uses: actions/checkout@v2
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: nextcloud/user_saml
path: apps/user_saml
- 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
docker pull icewind1991/samba-krb-test-dc
docker pull icewind1991/samba-krb-test-apache
docker pull 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
mkdir data
sudo chown -R 33 data apps config
apps/files_external/tests/setup-krb.sh
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
docker exec --user 33 apache ./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
docker exec --user 33 apache ./occ config:system:set trusted_domains 1 --value 'httpd.domain.test'
# setup user_saml
docker exec --user 33 apache ./occ app:enable user_saml --force
docker exec --user 33 apache ./occ config:app:set user_saml type --value 'environment-variable'
docker exec --user 33 apache ./occ config:app:set user_saml general-uid_mapping --value REMOTE_USER
# setup external storage
docker exec --user 33 apache ./occ app:enable files_external --force
docker exec --user 33 apache ./occ files_external:create smb smb smb::kerberosapache
docker exec --user 33 apache ./occ files_external:config 1 host krb.domain.test
docker exec --user 33 apache ./occ files_external:config 1 share netlogon
docker exec --user 33 apache ./occ files_external:list
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs
if: failure()
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
mkdir cookies
chmod 0777 cookies
DC_IP=$(docker inspect dc --format '{{.NetworkSettings.IPAddress}}')
docker run --rm --name client -v $PWD/cookies:/cookies -v /tmp/shared:/shared --dns $DC_IP --hostname client.domain.test icewind1991/samba-krb-test-client \
curl -c /cookies/jar -s --negotiate -u testuser@DOMAIN.TEST: --delegation always http://httpd.domain.test/index.php/apps/user_saml/saml/login
CONTENT=$(docker run --rm --name client -v $PWD/cookies:/cookies -v /tmp/shared:/shared --dns $DC_IP --hostname client.domain.test icewind1991/samba-krb-test-client \
curl -b /cookies/jar -s --negotiate -u testuser@DOMAIN.TEST: --delegation always http://httpd.domain.test/remote.php/webdav/smb/test.txt)
echo $CONTENT
CONTENT=$(echo $CONTENT | tr -d '[:space:]')
[[ $CONTENT == "testfile" ]]
smb-kerberos-summary:
runs-on: ubuntu-latest
needs: smb-kerberos-tests
if: always()
steps:
- name: Summary status
run: if ${{ needs.smb-kerberos-tests.result != 'success' }}; then exit 1; fi
+5 -6
View File
@@ -7,15 +7,14 @@ on:
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@v9
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
@@ -30,4 +29,4 @@ jobs:
days-before-stale: 30
days-before-close: 14
# debug-only: true
+52 -97
View File
@@ -1,101 +1,56 @@
name: Psalm static code analysis
name: Static code analysis
on:
pull_request:
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on: [pull_request]
jobs:
static-code-analysis:
runs-on: ubuntu-latest
static-code-analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php7.4
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
- name: Check diff
run: git diff -- . ':!lib/composer'
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,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:ci -- --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff -- . ':!lib/composer'
- name: Upload Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-security:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,ftp,gd,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:ci -- --monochrome --no-progress --output-format=github --report=results.sarif --taint-analysis
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,gd,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:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff -- . ':!lib/composer'
static-code-analysis-ocp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php7.4
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
- name: Check diff
run: git diff -- . ':!lib/composer'
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline-ocp.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
+6 -6
View File
@@ -3,7 +3,7 @@ name: Update CA certificate bundle
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
- cron: "5 4 * * *"
jobs:
update-ca-certificate-bundle:
@@ -12,12 +12,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
branches: ["master", "stable24", "stable23", "stable22"]
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branches }}
submodules: true
@@ -26,15 +26,15 @@ jobs:
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@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "fix(security): Update CA certificate bundle"
commit-message: 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"
title: "[${{ matrix.branches }}] Update ca-cert bundle"
body: |
Auto-generated update of CA certificate bundle from [https://curl.se/docs/caextract.html](https://curl.se/docs/caextract.html)
labels: |
@@ -1,45 +0,0 @@
name: Update code signing revocation list
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["master", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
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@153407881ec5c347639a548ade7d8ad1d6740e38
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
+6 -14
View File
@@ -3,35 +3,31 @@ name: Update Psalm baseline
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
- cron: "5 4 * * *"
jobs:
update-psalm-baseline:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
branches: ["master", "stable28", "stable27", "stable26"]
branches: ["master", "stable24", "stable23", "stable22"]
name: update-psalm-baseline-${{ matrix.branches }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- uses: actions/checkout@v2
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php
- name: Set up php7.4
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer install
@@ -40,17 +36,13 @@ jobs:
run: composer run psalm -- --monochrome --no-progress --output-format=text --update-baseline
continue-on-error: true
- name: Psalm OCP
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
continue-on-error: true
- name: Reset composer
run: |
git clean -f lib/composer
git checkout composer.json composer.lock lib/composer
- name: Create Pull Request
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline
-12
View File
@@ -24,7 +24,6 @@
!/apps/sharebymail
!/apps/encryption
!/apps/files_external
!/apps/files_reminders
!/apps/files_sharing
!/apps/files_trashbin
!/apps/files_versions
@@ -74,7 +73,6 @@ CVS/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -97,7 +95,6 @@ nbproject
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -155,19 +152,10 @@ Vagrantfile
/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/snapshots
cypress/videos
+18 -11
View File
@@ -31,7 +31,7 @@
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
Header always set X-Robots-Tag "none"
Header onsuccess unset X-XSS-Protection
Header always set X-XSS-Protection "1; mode=block"
@@ -40,13 +40,12 @@
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|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|png|jpg|ico|wasm|tflite)$">
Header set Cache-Control "max-age=15778463"
</FilesMatch>
<FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)(\?v=.*)?$">
Header set Cache-Control "max-age=15778463, immutable"
</FilesMatch>
# Let browsers cache WOFF files for a week
@@ -55,6 +54,17 @@
</FilesMatch>
</IfModule>
# PHP 7.x
<IfModule mod_php7.c>
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>
# PHP 8+
<IfModule mod_php.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
@@ -68,8 +78,6 @@
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>
<IfModule mod_dir.c>
@@ -90,7 +98,6 @@
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]
</IfModule>
-14
View File
@@ -20,19 +20,5 @@ $config
->notPath('composer')
->notPath('node_modules')
->notPath('vendor')
->in('apps')
->in(__DIR__);
// Ignore additional app directories
$rootDir = new \DirectoryIterator(__DIR__);
foreach ($rootDir as $node) {
if (str_starts_with($node->getFilename(), 'apps')) {
$return = shell_exec('git check-ignore ' . escapeshellarg($node->getFilename() . '/'));
if ($return !== null) {
$config->getFinder()->exclude($node->getFilename());
}
}
}
return $config;
-17
View File
@@ -1,17 +0,0 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
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: []
+142 -148
View File
@@ -1,183 +1,177 @@
[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
host = https://www.transifex.com
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
[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]
[nextcloud.core]
file_filter = translationfiles/<lang>/core.po
source_file = translationfiles/templates/core.pot
source_lang = en
type = PO
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]
[nextcloud.files]
file_filter = translationfiles/<lang>/files.po
source_file = translationfiles/templates/files.pot
source_lang = en
type = PO
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: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]
[nextcloud.settings-1]
file_filter = translationfiles/<lang>/settings.po
source_file = translationfiles/templates/settings.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:sharebymail]
file_filter = translationfiles/<lang>/sharebymail.po
source_file = translationfiles/templates/sharebymail.pot
[nextcloud.lib]
file_filter = translationfiles/<lang>/lib.po
source_file = translationfiles/templates/lib.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:systemtags]
file_filter = translationfiles/<lang>/systemtags.po
source_file = translationfiles/templates/systemtags.pot
[nextcloud.dav]
file_filter = translationfiles/<lang>/dav.po
source_file = translationfiles/templates/dav.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:theming]
file_filter = translationfiles/<lang>/theming.po
source_file = translationfiles/templates/theming.pot
[nextcloud.files_encryption]
file_filter = translationfiles/<lang>/encryption.po
source_file = translationfiles/templates/encryption.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:twofactor_backupcodes]
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
source_file = translationfiles/templates/twofactor_backupcodes.pot
[nextcloud.files_external]
file_filter = translationfiles/<lang>/files_external.po
source_file = translationfiles/templates/files_external.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:updatenotification]
file_filter = translationfiles/<lang>/updatenotification.po
source_file = translationfiles/templates/updatenotification.pot
[nextcloud.files_sharing]
file_filter = translationfiles/<lang>/files_sharing.po
source_file = translationfiles/templates/files_sharing.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:user_ldap]
[nextcloud.files_trashbin]
file_filter = translationfiles/<lang>/files_trashbin.po
source_file = translationfiles/templates/files_trashbin.pot
source_lang = en
type = PO
[nextcloud.files_versions]
file_filter = translationfiles/<lang>/files_versions.po
source_file = translationfiles/templates/files_versions.pot
source_lang = en
type = PO
[nextcloud.user_ldap]
file_filter = translationfiles/<lang>/user_ldap.po
source_file = translationfiles/templates/user_ldap.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:user_status]
file_filter = translationfiles/<lang>/user_status.po
source_file = translationfiles/templates/user_status.pot
[nextcloud.comments]
file_filter = translationfiles/<lang>/comments.po
source_file = translationfiles/templates/comments.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:weather_status]
file_filter = translationfiles/<lang>/weather_status.po
source_file = translationfiles/templates/weather_status.pot
[nextcloud.federatedfilesharing]
file_filter = translationfiles/<lang>/federatedfilesharing.po
source_file = translationfiles/templates/federatedfilesharing.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:workflowengine]
[nextcloud.federation]
file_filter = translationfiles/<lang>/federation.po
source_file = translationfiles/templates/federation.pot
source_lang = en
type = PO
[nextcloud.oauth2]
file_filter = translationfiles/<lang>/oauth2.po
source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[nextcloud.sharebymail]
file_filter = translationfiles/<lang>/sharebymail.po
source_file = translationfiles/templates/sharebymail.pot
source_lang = en
type = PO
[nextcloud.systemtags]
file_filter = translationfiles/<lang>/systemtags.po
source_file = translationfiles/templates/systemtags.pot
source_lang = en
type = PO
[nextcloud.updatenotification]
file_filter = translationfiles/<lang>/updatenotification.po
source_file = translationfiles/templates/updatenotification.pot
source_lang = en
type = PO
[nextcloud.theming]
file_filter = translationfiles/<lang>/theming.po
source_file = translationfiles/templates/theming.pot
source_lang = en
type = PO
[nextcloud.twofactor_backupcodes]
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
source_file = translationfiles/templates/twofactor_backupcodes.pot
source_lang = en
type = PO
[nextcloud.workflowengine]
file_filter = translationfiles/<lang>/workflowengine.po
source_file = translationfiles/templates/workflowengine.pot
source_lang = en
type = PO
type = PO
[nextcloud.provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot
source_lang = en
type = PO
[nextcloud.lookup_server_connector]
file_filter = translationfiles/<lang>/lookup_server_connector.po
source_file = translationfiles/templates/lookup_server_connector.pot
source_lang = en
type = PO
[nextcloud.dashboard-shipped-with-server]
file_filter = translationfiles/<lang>/dashboard.po
source_file = translationfiles/templates/dashboard.pot
source_lang = en
type = PO
[nextcloud.contactsinteraction]
file_filter = translationfiles/<lang>/contactsinteraction.po
source_file = translationfiles/templates/contactsinteraction.pot
source_lang = en
type = PO
[nextcloud.cloud_federation_api]
file_filter = translationfiles/<lang>/cloud_federation_api.po
source_file = translationfiles/templates/cloud_federation_api.pot
source_lang = en
type = PO
[nextcloud.admin_audit]
file_filter = translationfiles/<lang>/admin_audit.po
source_file = translationfiles/templates/admin_audit.pot
source_lang = en
type = PO
[nextcloud.user_status]
file_filter = translationfiles/<lang>/user_status.po
source_file = translationfiles/templates/user_status.pot
source_lang = en
type = PO
[nextcloud.weather_status]
file_filter = translationfiles/<lang>/weather_status.po
source_file = translationfiles/templates/weather_status.pot
source_lang = en
type = PO
+28 -130
View File
@@ -1,40 +1,33 @@
Nextcloud is written by:
- AW-UC <git@a-wesemann.de>
- Aaron Ball <nullspoon@oper.io>
- Aaron Wood <aaronjwood@gmail.com>
- Abijeet <abijeetpatro@gmail.com>
- Achim Königs <garfonso@tratschtante.de>
- Adam Williamson <awilliam@redhat.com>
- Administrator "Administrator@WINDOWS-2012"
- Adrian Brzezinski <adrian.brzezinski@eo.pl>
- Akhil <akhil.potukuchi@gmail.com>
- Akhil <akhil@e.email>
- Akhil Potukuchi <akhil.potukuchi@gmail.com>
- Alan Meeson <alan@carefullycalculated.co.uk>
- Aldo "xoen" Giambelluca <xoen@xoen.org>
- Alecks Gates <alecks.g@gmail.com>
- Alejandro Varela <epma01@gmail.com>
- Alex Harpin <development@landsofshadow.co.uk>
- Alex Weirig <alex.weirig@technolink.lu>
- Alexander A. Klimov <grandmaster@al2klimov.de>
- Alexander Bergolth <leo@strike.wu.ac.at>
- Alexander F <32201363+alx-tuilmenau@users.noreply.github.com>
- Alexey Pyltsyn <lex61rus@gmail.com>
- Allan Nordhøy <epost@anotheragency.no>
- Anderson Luiz Alves <alacn1@gmail.com>
- Andreas Fischer <bantu@owncloud.com>
- Andreas Pflug <dev@admin4.org>
- Andrew Brown <andrew@casabrown.com>
- Andy Xheli <axheli@axtsolutions.com>
- André Gaul <gaul@web-yard.de>
- Anna Larch <anna@nextcloud.com>
- ArcticFall <23174635+ArcticFall@users.noreply.github.com>
- Ardinis <Ardinis@users.noreply.github.com>
- Ari Selseng <ari@selseng.net>
- Arne Hamann <kontakt+github@arne.email>
- Artem Kochnev <MrJeos@gmail.com>
- Artem Sidorenko <artem@posteo.de>
- Arthur Schiwon <blizzz@arthur-schiwon.de>
- Artur Neumann <artur@jankaritech.com>
- Artur Neumann <info@individual-it.net>
- Ashod Nakashian <ashod.nakashian@collabora.co.uk>
- Asier Iturralde Sarasola <asier.iturralde@gmail.com>
- Avior <florian.bouillon@delta-wings.net>
- Axel Helmert <axel.helmert@luka.de>
- Azul <azul@riseup.net>
- Bart Visscher <bartv@thisnet.nl>
@@ -43,19 +36,13 @@ Nextcloud is written by:
- Bastien Ho <bastienho@urbancube.fr>
- Benjamin Diele <benjamin@diele.be>
- Benjamin Liles <benliles@arch.tamu.edu>
- Bennet Becker <bbecker@pks.mpg.de>
- Bennet Becker <dev@bennet.cc>
- Bernard Spil <Sp1l@users.noreply.github.com>
- Bernd Rederlechner <Bernd.Rederlechner@t-systems.com>
- Bernd Stellwag <burned@zerties.org>
- Bernhard Ostertag <bernieo.code@gmx.de>
- Bernhard Posselt <dev@bernhard-posselt.com>
- Bernhard Reiter <ockham@raz.or.at>
- Bill McGonigle <bill-github.com@bfccomputing.com>
- Birk Borkason <daniel.niccoli@gmail.com>
- Bjoern Schiessle <bjoern@schiessle.org>
- Björn Schießle <bjoern@schiessle.org>
- Bjørn Forsman <bjorn.forsman@gmail.com>
- Blaok <i@blaok.me>
- Boris Rybalkin <ribalkin@gmail.com>
- Borjan Tchakaloff <borjan@tchakaloff.fr>
@@ -63,9 +50,7 @@ Nextcloud is written by:
- Brandon Kirsch <brandonkirsch@github.com>
- Branko Kokanovic <branko@kokanovic.org>
- Brice Maron <brice@bmaron.net>
- CRA Yoshihito Nakatani <yoshihito.nakatani@craftsman-software.com>
- Carl Csaposs <carl@csaposs.com>
- Carl Schwan <carl@carlschwan.eu>
- Byron Marohn <combustible@live.com>
- Carla Schroder <carla@owncloud.com>
- Carlos Cerrillo <ccerrillo@gmail.com>
- Carlos Ferreira <carlos@reendex.com>
@@ -75,47 +60,37 @@ Nextcloud is written by:
- Christian Berendt <berendt@b1-systems.de>
- Christian Jürges <christian@eqipe.ch>
- Christian Kampka <christian@kampka.net>
- Christian Oliff <christianoliff@yahoo.com>
- Christian Weiske <cweiske@cweiske.de>
- Christoph Schaefer "christophł@wolkesicher.de"
- Christoph Seitz <christoph.seitz@posteo.de>
- Christoph Wickert <cwickert@suse.de>
- Christoph Wurst <christoph@winzerhof-wurst.at>
- Christopher Bartz <bartz@dkrz.de>
- Christopher Ng <chrng8@gmail.com>
- Christopher Schäpers <kondou@ts.unde.re>
- Christopher T. Johnson <ctjctj@gmail.com>
- Claas Augner <github@caugner.de>
- Clark Tomlinson <fallen013@gmail.com>
- Claus-Justus Heine <himself@claus-justus-heine.de>
- Clement Wong <git@clement.hk>
- Cornelius Kölbel <cornelius.koelbel@netknights.it>
- Cyrille Bollu <cyrpub@bollu.be>
- Cédric Neukom <github@webguy.ch>
- Côme Chilliet <91878298+come-nc@users.noreply.github.com>
- Côme Chilliet <come.chilliet@nextcloud.com>
- Cthulhux <git@tuxproject.de>
- Damjan Georgievski <gdamjan@gmail.com>
- Dan Callahan <dan.callahan@gmail.com>
- Daniel <mail@danielkesselberg.de>
- Daniel Calviño Sánchez <danxuliu@gmail.com>
- Daniel Hansson <daniel@techandme.se>
- Daniel Jagszent <daniel@jagszent.de>
- Daniel Kesselberg <mail@danielkesselberg.de>
- Daniel Rudolf <github.com@daniel-rudolf.de>
- Daniel Schneider <daniel@schneidoa.de>
- Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- Dariusz Olszewski <starypatyk@users.noreply.github.com>
- David <37280718+yeyulantu@users.noreply.github.com>
- David Prévot <taffit@debian.org>
- David Toledo <dtoledo@solidgear.es>
- Denis Mosolov <denismosolov@gmail.com>
- Derek <derek.kelly27@gmail.com>
- Dominik Schmidt <dev@dominik-schmidt.de>
- Donquixote <marjunebatac@gmail.com>
- Dries Mys <dries.mys@my-dreams.be>
- EWouters <6179932+EWouters@users.noreply.github.com>
- Elijah Martin-Merrill <elijah@nyp-itsours.com>
- Ember 'n0emis' Keske <git@n0emis.eu>
- Eric Masseran <rico.masseran@gmail.com>
- Erik van Velzen <erik@evanv.nl>
- Evgeny Golyshev <eugulixes@gmail.com>
- Fabrizio Steiner <fabrizio.steiner@gmail.com>
- Felix Epp <work@felixepp.de>
@@ -124,38 +99,29 @@ Nextcloud is written by:
- Felix Nieuwenhuizen <felix@tdlrali.com>
- Felix Nüsse <Felix.nuesse@t-online.de>
- Felix Rupp <github@felixrupp.com>
- Ferdinand Thiessen <opensource@fthiessen.de>
- Ferdinand Thiessen <rpm@fthiessen.de>
- Filis Futsarov <filisko@users.noreply.github.com>
- Florent <florent@coppint.com>
- Florian Schunk <florian.schunk@rwth-aachen.de>
- Florin Peter <github@florin-peter.de>
- Flávio Gomes da Silva Lisboa <flavio.lisboa@serpro.gov.br>
- Frank Isemann <frank@isemann.name>
- Frank Karlitschek <frank@karlitschek.de>
- François Freitag <mail@franek.fr>
- François Kubler <francois@kubler.org>
- François Ménabé <francois.menabe@gmail.com>
- Frederic Werner <frederic-github@werner-net.work>
- Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
- Gary Kim <gary@garykim.dev>
- Georg Ehrke <oc.list@georgehrke.com>
- Git'Fellow <12234510+solracsf@users.noreply.github.com>
- Git'Fellow <carlos@reendex.com>
- Glandos <bugs-github@antipoul.fr>
- GrayFix <grayfix@gmail.com>
- Greta Doci <gretadoci@gmail.com>
- GretaD <gretadoci@gmail.com>
- Guillaume COMPAGNON <gcompagnon@outlook.com>
- Guillaume Colson <guillaume.colson@univ-lorraine.fr>
- Guillaume Virlet <github@virlet.org>
- Hasso Tepper <hasso@zone.ee>
- Hemanth Kumar Veeranki <hems.india1997@gmail.com>
- Hendrik Leppelsack <hendrik@leppelsack.de>
- Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
- Holger Hees <holger.hees@gmail.com>
- HouraisanNEET <HouraisanNEET@users.noreply.github.com>
- Ilja Neumann <ineumann@owncloud.com>
- Ilya Apasov <apasov@users.noreply.github.com>
- Immanuel Pasanec <immanuel.pasanec@compaso.de>
- Individual IT Services <info@individual-it.net>
- Iscle <albertiscle9@gmail.com>
- J0WI <J0WI@users.noreply.github.com>
@@ -163,15 +129,13 @@ Nextcloud is written by:
- Jacob Neplokh <me@jacobneplokh.com>
- Jakob Sack <mail@jakobsack.de>
- Jakub Onderka <ahoj@jakubonderka.cz>
- James Guo <i@ze3kr.com>
- James Letendre <James.Letendre@gmail.com>
- Jan C. Borchardt <hey@jancborchardt.net>
- Jan Messer <jan@mtec-studios.ch>
- Jan-Christoph Borchardt <hey@jancborchardt.net>
- Jan-Philipp Litza <jpl@plutex.de>
- Jan-Philipp Litza <jplitza@users.noreply.github.com>
- JanBartels <j.bartels@arcor.de>
- Janis Köhr <janis.koehr@novatec-gmbh.de>
- Jared Boone <jared.boone@gmail.com>
- Jarkko Lehtoranta <devel@jlranta.com>
- Jasper Weyne <jasperweyne@gmail.com>
- Jean-Louis Dupond <jean-louis@dupond.be>
- Jens-Christian Fischer <jens-christian.fischer@switch.ch>
- Jesús Macias <jmacias@solidgear.es>
@@ -186,31 +150,25 @@ Nextcloud is written by:
- Johannes Schlichenmaier <johannes@schlichenmaier.info>
- Johannes Willnecker <johannes@willnecker.com>
- John Molakvoæ <skjnldsv@protonmail.com>
- Jonas <jonas@freesources.org>
- Jonas Heinrich <heinrich@synyx.de>
- Jonas Meurer <jonas@freesources.org>
- Jonas Rittershofer <jotoeri@users.noreply.github.com>
- Jonas Sulzer <jonas@violoncello.ch>
- Jonny007-MKD <1-23-4-5@web.de>
- Jos Poortvliet <jos@opensuse.org>
- Jose Quinteiro <github@quinteiro.org>
- Josh Richards <josh.t.richards@gmail.com>
- Juan Pablo Villafañez <jvillafanez@solidgear.es>
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
- Julien Lutran <julien.lutran@corp.ovh.com>
- Julien Veyssier <eneiluj@posteo.net>
- Julien Veyssier <julien-nc@posteo.net>
- Julius Haertl <jus@bitgrid.net>
- Julius Härtl <jus@bitgrid.net>
- Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
- Jörn Friedrich Dreyer <jfd@butonic.de>
- KB7777 <k.burkowski@gmail.com>
- Kamil Domanski <kdomanski@kdemail.net>
- Karel Hink <info@karelhink.cz>
- Kawohl <john@owncloud.com>
- Kenneth Newwood <kenneth@newwood.name>
- Kevin Lanni <therealklanni@gmail.com>
- Kevin Ndung'u <kevgathuku@gmail.com>
- Kevin Niehage <k.niehage@syseleven.de>
- Kirill Popov <kirill.s.popov@gmail.com>
- Kim Brose <kim.brose@rwth-aachen.de>
- Klaas Freitag <freitag@owncloud.com>
- Knut Ahlers <knut@ahlers.me>
- Ko- <k.stoffelen@cs.ru.nl>
@@ -221,7 +179,7 @@ Nextcloud is written by:
- Lars Knickrehm <mail@lars-sh.de>
- Laurens Post <Crote@users.noreply.github.com>
- Laurens Post <lkpost@scept.re>
- Lee Garrett <lgarrett@rocketjump.eu>
- Lauris Binde <laurisb@users.noreply.github.com>
- Lennart Rosam <hello@takuto.de>
- Lennart Rosam <lennart.rosam@medien-systempartner.de>
- Leon Klingele <git@leonklingele.de>
@@ -231,22 +189,13 @@ Nextcloud is written by:
- Lionel Elie Mamane <lionel@mamane.lu>
- Loki3000 <github@labcms.ru>
- Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
- Lorenzo Tanganelli <35271287+tanganellilore@users.noreply.github.com>
- Louis <6653109+artonge@users.noreply.github.com>
- Louis Chemineau <louis@chmn.me>
- Loïc Hermann <loic.hermann@sciam.fr>
- Luka Trovic <luka@nextcloud.com>
- Lukas Reschke <lukas@statuscode.ch>
- Lukas Stabe <lukas@stabe.de>
- Luke Policinski <lpolicinski@gmail.com>
- Magnus Walbeck <mw@mwalbeck.org>
- Maksim Sukharev <antreesy.web@gmail.com>
- Marc Hefter <marchefter@gmail.com>
- Marc Hefter <marchefter@march42.net>
- Marcel Klehr <mklehr@gmx.net>
- Marcel Müller <marcel-mueller@gmx.de>
- Marcel Waldvogel <marcel.waldvogel@uni-konstanz.de>
- Marco Ambrosini <marcoambrosini@pm.me>
- Marco Ziech <marco@ziech.net>
- Marin Treselj <marin@pixelipo.com>
- Mario Danic <mario@lovelyhq.com>
@@ -255,25 +204,19 @@ Nextcloud is written by:
- Marius David Wieschollek <git.public@mdns.eu>
- Markus Goetz <markus@woboq.com>
- Markus Staab <markus.staab@redaxo.de>
- Markus Zeller <git@markuszeller.com>
- MartB <mart.b@outlook.de>
- Martin Brugnara <martin@0x6d62.eu>
- Martin <github@diemattels.at>
- Martin Konrad <info@martin-konrad.net>
- Martin Konrad <konrad@frib.msu.edu>
- Martin Mattel <martin.mattel@diemattels.at>
- Marvin Thomas Rabe <mrabe@marvinrabe.de>
- Masaki Kawabata Neto <masaki.kawabata@gmail.com>
- MasterOfDeath <rinat.gumirov@mail.ru>
- Matthew Setter <matthew@matthewsetter.com>
- Matthieu Gallien <matthieu.gallien@nextcloud.com>
- Mattia Narducci <mattianarducci1@gmail.com>
- Max <max@nextcloud.com>
- Max Kovalenko <mxss1998@yandex.ru>
- Max Kunzelmann <maxdev@posteo.de>
- Maxence Lange <maxence@artificial-owl.com>
- Maxence Lange <maxence@nextcloud.com>
- Maxence Lange <maxence@pontapreta.net>
- Maxime Besson <maxime.besson@worteks.com>
- Maximilian Martin <maximilian_martin@gmx.de>
- Maxopoly <max@dermax.org>
- MichaIng <28480705+MichaIng@users.noreply.github.com>
- MichaIng <micha@dietpi.com>
@@ -281,51 +224,40 @@ Nextcloud is written by:
- Michael Göhler <somebody.here@gmx.de>
- Michael Jobst <mjobst+github@tecratech.de>
- Michael Jobst <mjobst@necls.com>
- Michael Kuhn <github@ikkoku.de>
- Michael Kuhn <michael@ikkoku.de>
- Michael Letzgus <www@chronos.michael-letzgus.de>
- Michael Roitzsch <reactorcontrol@icloud.com>
- Michael Weimann <mail@michael-weimann.eu>
- Michael Zamot <michael@zamot.io>
- Michał Węgrzynek <michal.wegrzynek@malloc.com.pl>
- Michiel de Jong <michiel@unhosted.org>
- Micke Nordin <kano@sunet.se>
- Mickey Knox <mickey@netfreaks.org>
- Miguel Prokop <miguel.prokop@vtu.com>
- Mikael Hammarin <mikael@try2.se>
- Mikael Nordin <mickenordin@users.noreply.github.com>
- Mikael Saarinen <mikaels@iki.fi>
- Mikhail Sazanov <m@sazanof.ru>
- Mitar <mitar.git@tnode.com>
- Mohammed Abdellatif <m.latief@gmail.com>
- Morris Jobke <hey@morrisjobke.de>
- Mátyás Jani <jzombi@gmail.com>
- Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
- Nazar Mokrynskyi <nazar@mokrynskyi.com>
- Nick Sweeting <git@sweeting.me>
- Nicolai Ehemann <en@enlightened.de>
- Nicolas Grekas <nicolas.grekas@gmail.com>
- Nicolas SIMIDE <2083596+dems54@users.noreply.github.com>
- Nils <git@to.nilsschnabel.de>
- Nils Wittenbrink <nilswittenbrink@web.de>
- Nina Pypchenko <22447785+nina-py@users.noreply.github.com>
- NoSleep82 <52562874+NoSleep82@users.noreply.github.com>
- Nmz <nemesiz@nmz.lt>
- Noveen Sachdeva <noveen.sachdeva@research.iiit.ac.in>
- Ole Ostergaard <ole.c.ostergaard@gmail.com>
- Ole Ostergaard <ole.ostergaard@knime.com>
- Oliver Kohl D.Sc. <oliver@kohl.bz>
- Oliver Wegner <void1976@gmail.com>
- Olivier Paroz <github@oparoz.com>
- Orzu Ionut <orzu.ionut@gmail.com>
- Owen Winkler <a_github@midnightcircus.com>
- Pascal de Bruijn <pmjdebruijn@pcode.nl>
- Patrick Paysant <patrick.paysant@linagora.com>
- Patrik Kernstock <info@pkern.at>
- Pauli Järvinen <pauli.jarvinen@gmail.com>
- Pavel Krasikov <klonishe@gmail.com>
- Pawel Boguslawski <pawel.boguslawski@ib.pl>
- Pellaeon Lin <nfsmwlin@gmail.com>
- Peter Kubica <peter@kubica.ch>
- Petre T <petre.tudor@dorkfarm.com>
- Phil Davis <phil.davis@inf.org>
- Philipp Kapfer <philipp.kapfer@gmx.at>
- Philipp Schaffrath <github@philipp.schaffrath.email>
@@ -337,7 +269,6 @@ Nextcloud is written by:
- Piotr M <mrow4a@yahoo.com>
- Piotr Mrowczynski <mrow4a@yahoo.com>
- Piotr Mrówczyński <mrow4a@yahoo.com>
- Pytal <24800714+Pytal@users.noreply.github.com>
- Qingping Hou <dave2008713@gmail.com>
- Raghu Nayyar <hey@raghunayyar.com>
- Ralph Krimmel <rkrimme1@gwdg.de>
@@ -348,10 +279,7 @@ Nextcloud is written by:
- RealRancor <fisch.666@gmx.de>
- Rello <Rello@users.noreply.github.com>
- Remco Brenninkmeijer <requist1@starmail.nl>
- Retidurc Silvernight <retidurc@silvernight.social>
- Richard Steinmetz <richard@steinmetz.cloud>
- Richard de Boer <github@tubul.net>
- Rid <rid@cylo.io>
- Rinat Gumirov <rinat.gumirov@mail.ru>
- Robert Dailey <rcdailey@gmail.com>
- Robin Appelman <robin@icewind.nl>
@@ -363,7 +291,6 @@ Nextcloud is written by:
- Romain Rivière <lecoyote@lecoyote.org>
- Roman Kreisel <mail@romankreisel.de>
- Ross Nicoll <jrn@jrn.me.uk>
- Rsplwe <i@rsplwe.com>
- Ruben Homs <ruben@homs.codes>
- RussellAult <RussellAult@users.noreply.github.com>
- Rémy Jacquin <remy@remyj.fr>
@@ -376,10 +303,11 @@ Nextcloud is written by:
- Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
- Sander Ruitenbeek <sander@grids.be>
- Sandro Lutz <sandro.lutz@temparus.ch>
- Sanpi <sanpi@homecomputing.fr>
- Sascha Sambale <mastixmc@gmail.com>
- Sascha Wiswedel <sascha.wiswedel@nextcloud.com>
- Scott Dutton <exussum12@users.noreply.github.com>
- Scott Dutton <scott@exussum.co.uk>
- Scott Shambarger <devel@shambarger.net>
- Sean Comeau <sean@ftlnetworks.ca>
- Sean Molenaar <sean@seanmolenaar.eu>
- Sebastian Döll <sebastian.doell@libasys.de>
@@ -394,16 +322,10 @@ Nextcloud is written by:
- Sergey Shliakhov <husband.sergey@gmail.com>
- Sergio Bertolin <sbertolin@solidgear.es>
- Sergio Bertolín <sbertolin@solidgear.es>
- Sijmen Schoon <me@sijmenschoon.nl>
- Simon Könnecke <simonkoennecke@gmail.com>
- Simon L <szaimen@e.mail.de>
- Simon Leiner <simon@leiner.me>
- Simon Spannagel <simonspa@kth.se>
- Simounet <contact@simounet.net>
- Sjors van der Pluijm <sjors@desjors.nl>
- Stanimir Bozhilov <stanimir.bozhilov.1998@gmail.com>
- Stanimir Bozhilov <stanimir@audriga.com>
- Stefan <Stefan.Schilling@EXXETA.com>
- Stefan Rado <owncloud@sradonia.net>
- Stefan Schneider <stefan.schneider@squareweave.com.au>
- Stefan Weiberg <sweiberg@suse.com>
@@ -417,7 +339,6 @@ Nextcloud is written by:
- Sujith Haridasan <Sujith_Haridasan@mentor.com>
- Sujith Haridasan <sujith.h@gmail.com>
- Sven Strickroth <email@cs-ware.de>
- Sylvain <git@sylvain.dev>
- Sylvia van Os <sylvia@hackerchick.me>
- Tekhnee <info@tekhnee.org>
- Temtaime <temtaime@gmail.com>
@@ -436,7 +357,6 @@ Nextcloud is written by:
- Timo Förster <tfoerster@webfoersterei.de>
- Tobia De Koninck <LEDfan@users.noreply.github.com>
- Tobia De Koninck <tobia@ledfan.be>
- Tobias Assmann <tobias.assmann@ecsec.de>
- Tobias Kaminsky <tobias@kaminsky.me>
- Tobias Perschon <tobias@perschon.at>
- Tom Grant <TomG736@users.noreply.github.com>
@@ -444,42 +364,30 @@ Nextcloud is written by:
- Tomasz Grobelny <tomasz@grobelny.net>
- Tomasz Paluszkiewicz <tomasz.paluszkiewicz@gmail.com>
- Tor Lillqvist <tml@collabora.com>
- UmbrellaCodr <umbrella@biohazard.cc>
- Unknown <anpz.asutp@gmail.com>
- Unpublished <unpublished@gmx.net>
- Valdnet <47037905+Valdnet@users.noreply.github.com>
- Vanessa Pertsch <vanessa.pertsch@nextcloud.com>
- Varun Patil <radialapps@gmail.com>
- Varun Patil <varunpatil@ucla.edu>
- Victor Dubiniuk <dubiniuk@owncloud.com>
- Viktor Szépe <viktor@szepe.net>
- Vincent Chan <plus.vincchan@gmail.com>
- Vincent Petry <vincent@nextcloud.com>
- Vincent Van Houtte <vvh@aplusv.be>
- Vinicius Cubas Brand <vinicius@eita.org.br>
- Vitor Mattos <vitor@php.rio>
- Vlastimil Pecinka <pecinka@email.cz>
- Volkan Gezer <volkangezer@gmail.com>
- Volker <skydiablo@gmx.net>
- William <william.hak57@gmail.com>
- William Pain <pain.william@gmail.com>
- Xheni Myrtaj <myrtajxheni@gmail.com>
- Xuanwo <xuanwo@yunify.com>
- ZitronePlus <tobiasscharf92@gmail.com>
- acsfer <12234510+acsfer@users.noreply.github.com>
- acsfer <carlos@reendex.com>
- adrien <adrien.waksberg@believedigital.com>
- alanmeeson <alan@carefullycalculated.co.uk>
- aler9 <46489434+aler9@users.noreply.github.com>
- alexweirig <alex.weirig@technolink.lu>
- b108@volgograd "b108@volgograd"
- bbx-github <53237674+bbx-github@users.noreply.github.com>
- bladewing <lukas@ifflaender-family.de>
- bline <scottbeck@gmail.com>
- blizzz <blizzz@arthur-schiwon.de>
- brad2014 <brad2014@users.noreply.github.com>
- brumsel <brumsel@losecatcher.de>
- cahogan <caitlin.hogan@swiftsolar.com>
- call-me-matt <nextcloud@matthiasheinisch.de>
- castillo92 <37965565+castillo92@users.noreply.github.com>
- cetra3 <peter@parashift.com.au>
@@ -492,32 +400,27 @@ Nextcloud is written by:
- duritong <peter.meier+github@immerda.ch>
- eduardo <eduardo@vnexu.net>
- eleith <online+github@eleith.com>
- enoch <lanxenet@hotmail.com>
- essys <essys@users.noreply.github.com>
- exner104 <59639860+exner104@users.noreply.github.com>
- fabian <fabian@web2.0-apps.de>
- felixboehm <felix@webhippie.de>
- fenn-cs <fenn25.fn@gmail.com>
- fnuesse <felix.nuesse@t-online.de>
- fnuesse <fnuesse@techfak.uni-bielefeld.de>
- greta <gretadoci@gmail.com>
- helix84 <helix84@centrum.sk>
- hkjolhede <hkjolhede@gmail.com>
- hoellen <dev@hoellen.eu>
- howardZa <33491519+howardZa@users.noreply.github.com>
- ideaship <ideaship@users.noreply.github.com>
- j-ed <juergen@eisfair.org>
- j3l11234 <297259024@qq.com>
- jaltek <jaltek@mailbox.org>
- jknockaert <jasper@knockaert.nl>
- jld3103 <jld3103yt@gmail.com>
- josh4trunks <joshruehlig@gmail.com>
- julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
- karakayasemi <karakayasemi@itu.edu.tr>
- kevin147147 <kevintamool@gmail.com>
- korelstar <korelstar@users.noreply.github.com>
- leith abdulla <online-nextcloud@eleith.com>
- lui87kw <lukas.ifflaender@uni-wuerzburg.de>
- luz paz <luzpaz@github.com>
- luz paz <luzpaz@pm.me>
- lynn-stephenson <lynn.stephenson@protonmail.com>
- macjohnny <estebanmarin@gmx.ch>
- marco44 <cousinmarc@gmail.com>
@@ -528,6 +431,7 @@ Nextcloud is written by:
- michaelletzgus <michaelletzgus@users.noreply.github.com>
- michag86 <micha_g@arcor.de>
- mmccarn <mmccarn-github@mmsionline.us>
- nacho <nacho@ownyourbits.com>
- nhirokinet <nhirokinet@nhiroki.net>
- nik gaffney <nik@fo.am>
- nishiki <nishiki@yaegashi.fr>
@@ -535,12 +439,9 @@ Nextcloud is written by:
- noveens <noveen.sachdeva@research.iiit.ac.in>
- npmbuildbot[bot] "npmbuildbot[bot]@users.noreply.github.com"
- onehappycat <one.happy.cat@gmx.com>
- oparoz <owncloud@interfasys.ch>
- phisch <git@philippschaffrath.de>
- pjft <pjft@users.noreply.github.com>
- plumbeo <plumbeo@users.noreply.github.com>
- rakekniven <2069590+rakekniven@users.noreply.github.com>
- rakekniven <mark.ziegler@rakekniven.de>
- raul <raul@nextcloud.com>
- robottod <83244577+robottod@users.noreply.github.com>
- root "root@oc.(none)"
- root <root@localhost.localdomain>
@@ -550,8 +451,6 @@ Nextcloud is written by:
- scolebrook <scolebrook@mac.com>
- shkdee <louis.traynard@m4x.org>
- simonspa <1677436+simonspa@users.noreply.github.com>
- smichel17 <git@smichel.me>
- sodimel <corentin@244466666.xyz>
- ste101 <stephan_bauer@gmx.de>
- sualko <klaus@jsxc.org>
- szaimen <szaimen@e.mail.de>
@@ -563,7 +462,6 @@ Nextcloud is written by:
- v1r0x <vinzenz.rosenkranz@gmail.com>
- voxsim "Simon Vocella"
- waleczny <michal@walczak.xyz>
- zorn-v <zorn7@yandex.ru>
- zulan <git@zulan.net>
- Łukasz Buśko <busko.lukasz@pm.me>
-24
View File
@@ -1,24 +0,0 @@
# Nextcloud Design contribution guidelines
## 👋 Welcome
At Nextcloud we want to make sure to have everything in place to enable designers to contribute making our apps universally accessible and easy to use.
## 🚢 How to contribute design
We have a dedicated page with more in-detail guidelines on our website:
https://nextcloud.com/design/
**TL;DR**
1. Check out open [issues](https://github.com/nextcloud/server/issues) here on GitHub (we label them with `design`)
2. Make sure create publicly accessible assets
3. Add your contributions to an issue and we promise we will review your contribution carefully and foster discussions
[This issue](https://github.com/nextcloud/desktop/issues/877) has examples of other apps, some simple mockups, and specifications about the design. In the discussions in the comments there are updates to the design as well.
[This pull request](https://github.com/nextcloud/desktop/pull/1565) by a developer has the implementation of that issue, the changes they made, and more design discussions and adjustments.
**We encourage you to:**
- Get in touch with the team by joining our [public Talk channel](https://cloud.nextcloud.com/call/gqff69i8)
+64 -9
View File
@@ -2,11 +2,10 @@
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/209/badge)](https://bestpractices.coreinfrastructure.org/projects/209)
[![Design](https://contribute.design/api/shield/nextcloud/server)](https://contribute.design/nextcloud/server)
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/files/Files%20Sharing.png)
## Why is this so awesome? 🤩
@@ -16,12 +15,12 @@
* 🚀 **Expandable with hundreds of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail), [Video Chat](https://github.com/nextcloud/spreed) and all those you can discover in our [App Store](https://apps.nextcloud.com)
* 🔒 **Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentication.
Do you want to learn more about how you can use Nextcloud to access, share, and protect your files, calendars, contacts, communication & more at home and in your organization? [**Learn about all our Features**](https://nextcloud.com/athome/).
Do you want to learn more about how you can use Nextcloud to access, share and protect your files, calendars, contacts, communication & more at home and in your organization? [**Learn about all our Features**](https://nextcloud.com/athome/).
## Get your Nextcloud 🚚
- ☑️ [**Simply sign up**](https://nextcloud.com/signup/) at one of our providers either through our website or through the apps directly.
- 🖥 [**Install** a server by yourself](https://nextcloud.com/install/#instructions-server) on your hardware or by using one of our ready-to-use **appliances**
- 🖥 [**Install** a server by yourself](https://nextcloud.com/install/#instructions-server) on your hardware or by using one of our ready to use **appliances**
- 📦 Buy one of the [awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
- 🏢 Find a [service **provider**](https://nextcloud.com/providers/) who hosts Nextcloud for you or your company
@@ -57,6 +56,65 @@ Several apps that are included by default in regular releases such as [First run
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
### Working with front-end code 🏗
#### Building
We are moving more and more toward using Vue.js in the front-end, starting with Settings. For building the code on changes, use these terminal commands in the root folder:
```bash
# install dependencies
make dev-setup
# build for development
make build-js
# build for development and watch edits
make watch-js
# build for production with minification
make build-js-production
```
#### Committing changes
**When making changes, also commit the compiled files!**
We still use Handlebars templates in some places in Files and Settings. We will replace these step-by-step with Vue.js, but in the meantime, you need to compile them separately.
If you dont have Handlebars installed yet, you can do it with this terminal command:
```bash
sudo npm install -g handlebars
```
Then inside the root folder of your local Nextcloud development installation, run this command in the terminal every time you changed a `.handlebars` file to compile it:
```bash
./build/compile-handlebars-templates.sh
```
Before checking in JS changes, make sure to also build for production:
```bash
make build-js-production
```
Then add the compiled files for committing.
To save some time, to only rebuild for a specific app, use the following and replace the module with the app name:
```bash
MODULE=user_status make build-js-production
```
Please note that if you used `make build-js` or `make watch-js` before, you'll notice that a lot of files were marked as changed, so might need to clear the workspace first.
### Working with back-end code 🏗
When changing back-end PHP code, in general, no additional steps are needed before checking in.
However, if new files were created, you will need to run the following command to update the autoloader files:
```bash
build/autoloaderchecker.sh
```
After that, please also include the autoloader file changes in your commits.
### Tools we use 🛠
@@ -64,9 +122,6 @@ Otherwise, git checkouts can be handled the same as release archives, by using t
- [🌊 WAVE](https://wave.webaim.org/extension/) for accessibility testing
- [🚨 Lighthouse](https://developers.google.com/web/tools/lighthouse/) for testing performance, accessibility, and more
#### Helpful bots at GitHub :robot:
- Comment on a pull request with `/update-3rdparty` to update the 3rd party submodule. It will update to the last commit of the 3rd party branch named like the PR target.
## Contribution guidelines 📜
@@ -82,8 +137,8 @@ changed it substantially:
@copyright Copyright (c) <year>, <your name> (<your email address>)
```
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
Please review the [guidelines for contributing](.github/CONTRIBUTING.md) to this repository.
More information on how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
More information how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
+10 -49
View File
@@ -1,64 +1,25 @@
# Security Policy
[Security](https://nextcloud.com/security/) is very important to us.
If you believe you have found a security vulnerability that meets our definition of a security
vulnerability, please report is as described below.
## Context
Please review our [threat model and accepted risks](https://nextcloud.com/security/threat-model) to learn what
is currently considered a security vulnerability versus expected behavior. And review what is considered
[in scope or bounty eligible](https://hackerone.com/nextcloud/policy_scopes).
## Supported Versions
The latest three major release versions of Nextcloud are currently being supported with security updates.
Please visit https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule for further details.
## Reporting a Vulnerability
** **Please do _not_ report security vulnerabilities through public GitHub issues.** **
If you have discovered a security matter with Nextcloud, please read our
[responsible disclosure guidelines](https://nextcloud.com/security/) and contact us at
[hackerone.com/nextcloud](https://hackerone.com/nextcloud).
Security is very important to us. If you have discovered a security issue with Nextcloud,
please read our responsible disclosure guidelines and contact us at [hackerone.com/nextcloud](https://hackerone.com/nextcloud).
Your report should include:
- Product version
- A vulnerability description
- Reproduction steps
- Any other details you think are likely to be important
### What to Expect
You should receive an initial acknowledgement within 24 hours in most cases.
A member of the security team will confirm the vulnerability, determine its impact, follow-up with any questions,
and coordinate the fix and publication.
The fix will be applied to all applicable and still supported stable branches, tested, and packaged in the next security release.
A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
The fix will be applied to the master branch, tested, and packaged in the next security release.
The vulnerability will be publicly announced after the release. Finally, your name will be added
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud
community.
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud community. Note our
[threat model](https://nextcloud.com/security/threat-model) to know what is expected behavior.
If the vulnerability involves an app that is not maintained by Nextcloud (i.e. hosted by the
Nextcloud project but community maintained, or hosted elsewhere), the security team will try to coordinate with the
current maintainer and help to get the issue fixed in similar fashion.
### Bug Bounties
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Details
on past bounty ranges can be found at [hackerone.com/nextcloud](https://hackerone.com/nextcloud).
## Existing Security Advisories
Published security advisories for the Nextcloud Server, Clients and Apps can be viewed at
[https://github.com/nextcloud/security-advisories/security/advisories](https://github.com/nextcloud/security-advisories/security/advisories).
## Supported Versions
Nextcloud Server major release versions are being supported with security updates for 1 year after their initial release.
Please visit https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule for further details.
## Additional Information
Please visit [https://nextcloud.com/security/](https://nextcloud.com/security/) for further information about Nextcloud security.
Please visit [https://nextcloud.com/security/threat-model](https://nextcloud.com/security/threat-model) for our threat model and accepted risks.
Please visit https://nextcloud.com/security/ for further information about security.
-26
View File
@@ -1,26 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export default {
get: async () => ({ status: 200, data: {} }),
delete: async () => ({ status: 200, data: {} }),
post: async () => ({ status: 200, data: {} }),
}
-30
View File
@@ -1,30 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
import { jest } from '@jest/globals'
export const showMessage = jest.fn()
export const showSuccess = jest.fn()
export const showWarning = jest.fn()
export const showInfo = jest.fn()
export const showError = jest.fn()
export const showUndo = jest.fn()
-6
View File
@@ -1,6 +0,0 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"verbatimModuleSyntax": false
}
}
View File
+2 -2
View File
@@ -5,7 +5,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.19.0</version>
<version>1.15.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -15,7 +15,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="29" max-version="29"/>
<nextcloud min-version="25" max-version="25"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>
+2 -15
View File
@@ -3,21 +3,8 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
} elseif (!headers_sent()) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
exit(1);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -42,37 +42,35 @@ namespace Composer\Autoload;
*/
class ClassLoader
{
/** @var \Closure(string):void */
private static $includeFile;
/** @var string|null */
/** @var ?string */
private $vendorDir;
// PSR-4
/**
* @var array<string, array<string, int>>
* @var array[]
* @psalm-var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array();
/**
* @var array<string, list<string>>
* @var array[]
* @psalm-var array<string, array<int, string>>
*/
private $prefixDirsPsr4 = array();
/**
* @var list<string>
* @var array[]
* @psalm-var array<string, string>
*/
private $fallbackDirsPsr4 = array();
// PSR-0
/**
* List of PSR-0 prefixes
*
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
*
* @var array<string, array<string, list<string>>>
* @var array[]
* @psalm-var array<string, array<string, string[]>>
*/
private $prefixesPsr0 = array();
/**
* @var list<string>
* @var array[]
* @psalm-var array<string, string>
*/
private $fallbackDirsPsr0 = array();
@@ -80,7 +78,8 @@ class ClassLoader
private $useIncludePath = false;
/**
* @var array<string, string>
* @var string[]
* @psalm-var array<string, string>
*/
private $classMap = array();
@@ -88,29 +87,29 @@ class ClassLoader
private $classMapAuthoritative = false;
/**
* @var array<string, bool>
* @var bool[]
* @psalm-var array<string, bool>
*/
private $missingClasses = array();
/** @var string|null */
/** @var ?string */
private $apcuPrefix;
/**
* @var array<string, self>
* @var self[]
*/
private static $registeredLoaders = array();
/**
* @param string|null $vendorDir
* @param ?string $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
self::initializeIncludeClosure();
}
/**
* @return array<string, list<string>>
* @return string[]
*/
public function getPrefixes()
{
@@ -122,7 +121,8 @@ class ClassLoader
}
/**
* @return array<string, list<string>>
* @return array[]
* @psalm-return array<string, array<int, string>>
*/
public function getPrefixesPsr4()
{
@@ -130,7 +130,8 @@ class ClassLoader
}
/**
* @return list<string>
* @return array[]
* @psalm-return array<string, string>
*/
public function getFallbackDirs()
{
@@ -138,7 +139,8 @@ class ClassLoader
}
/**
* @return list<string>
* @return array[]
* @psalm-return array<string, string>
*/
public function getFallbackDirsPsr4()
{
@@ -146,7 +148,8 @@ class ClassLoader
}
/**
* @return array<string, string> Array of classname => path
* @return string[] Array of classname => path
* @psalm-return array<string, string>
*/
public function getClassMap()
{
@@ -154,7 +157,8 @@ class ClassLoader
}
/**
* @param array<string, string> $classMap Class to filename map
* @param string[] $classMap Class to filename map
* @psalm-param array<string, string> $classMap
*
* @return void
*/
@@ -171,25 +175,24 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param list<string>|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
* @param string $prefix The prefix
* @param string[]|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*
* @return void
*/
public function add($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
$paths,
(array) $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
$paths
(array) $paths
);
}
@@ -198,19 +201,19 @@ class ClassLoader
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = $paths;
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$paths,
(array) $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
$paths
(array) $paths
);
}
}
@@ -219,9 +222,9 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param list<string>|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param string[]|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*
@@ -229,18 +232,17 @@ class ClassLoader
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
$paths,
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
$paths
(array) $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
@@ -250,18 +252,18 @@ class ClassLoader
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = $paths;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$paths,
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
$paths
(array) $paths
);
}
}
@@ -270,8 +272,8 @@ class ClassLoader
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param list<string>|string $paths The PSR-0 base directories
* @param string $prefix The prefix
* @param string[]|string $paths The PSR-0 base directories
*
* @return void
*/
@@ -288,8 +290,8 @@ class ClassLoader
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param list<string>|string $paths The PSR-4 base directories
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param string[]|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*
@@ -423,8 +425,7 @@ class ClassLoader
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
$includeFile = self::$includeFile;
$includeFile($file);
includeFile($file);
return true;
}
@@ -475,9 +476,9 @@ class ClassLoader
}
/**
* Returns the currently registered loaders keyed by their corresponding vendor directories.
* Returns the currently registered loaders indexed by their corresponding vendor directories.
*
* @return array<string, self>
* @return self[]
*/
public static function getRegisteredLoaders()
{
@@ -554,26 +555,18 @@ class ClassLoader
return false;
}
/**
* @return void
*/
private static function initializeIncludeClosure()
{
if (self::$includeFile !== null) {
return;
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
* @private
*/
function includeFile($file)
{
include $file;
}
@@ -98,7 +98,7 @@ class InstalledVersions
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
}
}
@@ -119,7 +119,7 @@ class InstalledVersions
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints((string) $constraint);
$constraint = $parser->parseConstraints($constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
@@ -328,9 +328,7 @@ class InstalledVersions
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
@@ -342,17 +340,12 @@ class InstalledVersions
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require __DIR__ . '/installed.php';
self::$installed = $required;
self::$installed = require __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
$installed[] = self::$installed;
return $installed;
}
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b',
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => 'b1797842784b250fb01ed5e3bf130705eb94751b',
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
+2 -2
View File
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "المراجعة / السجلات",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "تُوفِّر إمكانيات تسجيل و مراجعة سجل الحركات على نكست كلاود."
"Auditing / Logging" : "التدقيق / السجلات",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "خاصية سجلات المراقبة لـ نكست كلاود مثل الوصول إلى سجلات الملفات أو المعلومات الحساسة الاخرى."
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
+2 -2
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "المراجعة / السجلات",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "تُوفِّر إمكانيات تسجيل و مراجعة سجل الحركات على نكست كلاود."
"Auditing / Logging" : "التدقيق / السجلات",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "خاصية سجلات المراقبة لـ نكست كلاود مثل الوصول إلى سجلات الملفات أو المعلومات الحساسة الاخرى."
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoría / Rexistru",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Forne la capacidá de rexistrar, por exemplu, l'accesu a los ficheros o a otres aiciones sensibles de Nextcloud"
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Auditoría / Rexistru",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Forne la capacidá de rexistrar, por exemplu, l'accesu a los ficheros o a otres aiciones sensibles de Nextcloud"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Audit / Giriş",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud üçün fayl girişləri və ya başqa həssas hərəkətlər kimi giriş imkanlarını təmin edir."
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Audit / Giriş",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud üçün fayl girişləri və ya başqa həssas hərəkətlər kimi giriş imkanlarını təmin edir."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Archwilio / Cofnodi",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Yn darparu galluoedd cofnodi ar gyfer Nextcloud megis cofnodi mynediadau ffeiliau neu gamau gweithredu sensitif."
},
"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Archwilio / Cofnodi",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Yn darparu galluoedd cofnodi ar gyfer Nextcloud megis cofnodi mynediadau ffeiliau neu gamau gweithredu sensitif."
},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
}
+1 -1
View File
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditieren/Protokollieren",
"Auditing / Logging" : "Auditieren / Protokollieren",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Stellt Protokollierungsfunktionen für Nextcloud zur Verfügung wie Dateizugriffe oder andere vertrauliche Aktionen."
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditieren/Protokollieren",
"Auditing / Logging" : "Auditieren / Protokollieren",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Stellt Protokollierungsfunktionen für Nextcloud zur Verfügung wie Dateizugriffe oder andere vertrauliche Aktionen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Ekzamenado / Protokolado",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Ekzamenado / Protokolado",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Provizi protokolado-kapablojn por Nextcloud, kiel ekzemple protokolado de aliroj al dosieroj aŭ aliaj delikataj agoj."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoría / Registro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Auditoría / Registro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
-6
View File
@@ -1,6 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoría / Registros"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
-4
View File
@@ -1,4 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Auditoría / Registros"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoría / Registro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Auditoría / Registro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+1 -1
View File
@@ -2,6 +2,6 @@ OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoretza / Erregistroa",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloudi gaitasuna ematen dio, adibidez, saio-hasiera fitxategiak atzitzeko edo beste kontuzko ekintza batzuetarako."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-i gaitasuna ematen dio, adibidez, fitxategien atzipenak edo bestelako ekintza babesgarriak erregistratzeko."
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditoretza / Erregistroa",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloudi gaitasuna ematen dio, adibidez, saio-hasiera fitxategiak atzitzeko edo beste kontuzko ekintza batzuetarako."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-i gaitasuna ematen dio, adibidez, fitxategien atzipenak edo bestelako ekintza babesgarriak erregistratzeko."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -2
View File
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Audit / Journalisation",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de journalisation pour Nextcloud, telles que la journalisation des accès aux fichiers ou d'autres actions sensibles."
"Auditing / Logging" : "Audit / journalisation",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de journalisation pour Nextcloud telles que l'enregistrement des accès aux fichiers ou d'autres actions sensibles."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -2
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Audit / Journalisation",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de journalisation pour Nextcloud, telles que la journalisation des accès aux fichiers ou d'autres actions sensibles."
"Auditing / Logging" : "Audit / journalisation",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de journalisation pour Nextcloud telles que l'enregistrement des accès aux fichiers ou d'autres actions sensibles."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+1 -1
View File
@@ -2,6 +2,6 @@ OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Auditoría / Rexistro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Auditoría / Rexistro",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fornece recursos de rexistro para o Nextcloud como rexistros de acceso a ficheiros ou calquera outra acción sensíbel."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -2,6 +2,6 @@ OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "פיקוח / תיעוד",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספר יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
+1 -1
View File
@@ -1,5 +1,5 @@
{ "translations": {
"Auditing / Logging" : "פיקוח / תיעוד",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספק יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "מספר יכולות תיעוד ל־Nextcloud כגון תיעוד גישה ליומן התיעוד או פעולות רגישות אחרות."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "ऑडिटिंग/लॉगिंग",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "नेक्स्टक्लाउड के लिए लॉगिंग क्षमताएं प्रदान करता है जैसे फ़ाइल एक्सेस या अन्यथा संवेदनशील कार्यों को लॉग करना।"
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "ऑडिटिंग/लॉगिंग",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "नेक्स्टक्लाउड के लिए लॉगिंग क्षमताएं प्रदान करता है जैसे फ़ाइल एक्सेस या अन्यथा संवेदनशील कार्यों को लॉग करना।"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Աուդիտ / Տեղեկագրում",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud ֊ի համար տրամադրում է տեղեկագրման հնարավորություն՝ նիշքերի հասանելիության և զգայուն գործողություինների պահպանումը տեղեկամատյանում։"
},
"nplurals=2; plural=(n != 1);");

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