diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c88dfcc7834e1..22c734c25e6f7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -69,7 +69,7 @@ updates: target-branch: stable32 directories: - "/" - - "/build/integration" + - "/vendor-bin/behat" - "/vendor-bin/cs-fixer" - "/vendor-bin/openapi-extractor" - "/vendor-bin/phpunit" diff --git a/.github/workflows/integration-s3-primary.yml b/.github/workflows/integration-s3-primary.yml index f73bbe2970301..5d855c6f5779c 100644 --- a/.github/workflows/integration-s3-primary.yml +++ b/.github/workflows/integration-s3-primary.yml @@ -90,6 +90,7 @@ jobs: - name: Set up Nextcloud run: | + composer install mkdir data echo ' ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php echo ' ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php diff --git a/.github/workflows/integration-sqlite.yml b/.github/workflows/integration-sqlite.yml index 78a3a7f3e8abc..e6edf71a1876b 100644 --- a/.github/workflows/integration-sqlite.yml +++ b/.github/workflows/integration-sqlite.yml @@ -131,12 +131,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Set up production dependencies - run: composer i --no-dev - - - name: Set up behat dependencies - working-directory: build/integration - run: composer i + - name: Set up dependencies + run: | + composer install - name: Set up Talk dependencies if: ${{ matrix.test-suite == 'videoverification_features' }} diff --git a/REUSE.toml b/REUSE.toml index 15c42346b4820..e1e801fbeba38 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -256,7 +256,7 @@ SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors" SPDX-License-Identifier = "AGPL-3.0-or-later" [[annotations]] -path = ["composer.json", "composer.lock", ".github/CODEOWNERS", "__tests__/tsconfig.json", "tsconfig.json", "build/integration/composer.**", "vendor-bin/**/composer.json", "vendor-bin/**/composer.lock", "apps/**/composer/composer.json", "apps/**/composer/composer.lock", "apps/**/composer/composer/installed.json"] +path = ["composer.json", "composer.lock", ".github/CODEOWNERS", "__tests__/tsconfig.json", "tsconfig.json", "apps/**/composer/composer.json", "apps/**/composer/composer.lock", "apps/**/composer/composer/installed.json"] precedence = "aggregate" SPDX-FileCopyrightText = "2011-2016 ownCloud, Inc., 2016-2024 Nextcloud GmbH and Nextcloud contributors" SPDX-License-Identifier = "AGPL-3.0-only OR AGPL-3.0-or-later" diff --git a/autotest-external.sh b/autotest-external.sh index 4111aeeca20dd..ba6354b26e12a 100755 --- a/autotest-external.sh +++ b/autotest-external.sh @@ -12,7 +12,7 @@ ADMINLOGIN=admin$EXECUTOR_NUMBER BASEDIR=$PWD DBCONFIGS="sqlite mysql pgsql oci" -PHPUNIT=$(which phpunit) +PHPUNIT="$PWD/lib/composer/bin/phpunit" _XDEBUG_CONFIG=$XDEBUG_CONFIG unset XDEBUG_CONFIG @@ -28,13 +28,8 @@ function print_syntax { } if ! [ -x "$PHPUNIT" ]; then - echo "phpunit executable not found, trying local one from build/integration" >&2 - if [ -x "$PWD/build/integration/vendor/phpunit/phpunit/phpunit" ]; then - PHPUNIT="$PWD/build/integration/vendor/phpunit/phpunit/phpunit" - else - echo "phpunit executable not found, please install phpunit version >= 9.0" >&2 - exit 3 - fi + echo "phpunit executable not found, please run 'composer install' in the root directory first." >&2 + exit 3 fi PHPUNIT_VERSION=$("$PHPUNIT" --version | cut -d" " -f2) diff --git a/build/integration/composer.json b/build/integration/composer.json deleted file mode 100644 index 06608c228b566..0000000000000 --- a/build/integration/composer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "config": { - "platform": { - "php": "8.2" - }, - "sort-packages": true - }, - "require-dev": { - "behat/behat": "^3.15", - "guzzlehttp/guzzle": "^7.9", - "phpunit/phpunit": "^11.5", - "sabre/dav": "^4.7", - "symfony/event-dispatcher": "^7.3" - } -} diff --git a/build/integration/features/bootstrap/AppConfiguration.php b/build/integration/features/bootstrap/AppConfiguration.php index e8580ed537b55..32dc664f9deaf 100644 --- a/build/integration/features/bootstrap/AppConfiguration.php +++ b/build/integration/features/bootstrap/AppConfiguration.php @@ -10,7 +10,7 @@ use PHPUnit\Framework\Assert; use Psr\Http\Message\ResponseInterface; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait AppConfiguration { /** @var string */ diff --git a/build/integration/features/bootstrap/Auth.php b/build/integration/features/bootstrap/Auth.php index fae66ba8f0287..13be6fa9cc323 100644 --- a/build/integration/features/bootstrap/Auth.php +++ b/build/integration/features/bootstrap/Auth.php @@ -10,7 +10,7 @@ use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Exception\ServerException; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait Auth { /** @var string */ diff --git a/build/integration/features/bootstrap/Avatar.php b/build/integration/features/bootstrap/Avatar.php index 70488d8a3d3a2..59d9ed920a110 100644 --- a/build/integration/features/bootstrap/Avatar.php +++ b/build/integration/features/bootstrap/Avatar.php @@ -6,7 +6,7 @@ */ use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait Avatar { /** @var string * */ diff --git a/build/integration/features/bootstrap/BasicStructure.php b/build/integration/features/bootstrap/BasicStructure.php index e6ba54a72129d..80a677d6a689e 100644 --- a/build/integration/features/bootstrap/BasicStructure.php +++ b/build/integration/features/bootstrap/BasicStructure.php @@ -13,7 +13,7 @@ use PHPUnit\Framework\Assert; use Psr\Http\Message\ResponseInterface; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait BasicStructure { use Auth; diff --git a/build/integration/features/bootstrap/CalDavContext.php b/build/integration/features/bootstrap/CalDavContext.php index 459c35089fa52..2b697c07681ad 100644 --- a/build/integration/features/bootstrap/CalDavContext.php +++ b/build/integration/features/bootstrap/CalDavContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Exception\GuzzleException; diff --git a/build/integration/features/bootstrap/CapabilitiesContext.php b/build/integration/features/bootstrap/CapabilitiesContext.php index 7d09ab6ddcf77..95d8b9677c509 100644 --- a/build/integration/features/bootstrap/CapabilitiesContext.php +++ b/build/integration/features/bootstrap/CapabilitiesContext.php @@ -9,7 +9,7 @@ use Behat\Behat\Context\SnippetAcceptingContext; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** * Capabilities context. diff --git a/build/integration/features/bootstrap/CardDavContext.php b/build/integration/features/bootstrap/CardDavContext.php index 733c98dca0256..bde6177df3914 100644 --- a/build/integration/features/bootstrap/CardDavContext.php +++ b/build/integration/features/bootstrap/CardDavContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Exception\GuzzleException; diff --git a/build/integration/features/bootstrap/ChecksumsContext.php b/build/integration/features/bootstrap/ChecksumsContext.php index c8abf91127ecd..b569527667a99 100644 --- a/build/integration/features/bootstrap/ChecksumsContext.php +++ b/build/integration/features/bootstrap/ChecksumsContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-or-later */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use GuzzleHttp\Client; use GuzzleHttp\Message\ResponseInterface; diff --git a/build/integration/features/bootstrap/CollaborationContext.php b/build/integration/features/bootstrap/CollaborationContext.php index 27fa1795c5d47..764f0f6d230cb 100644 --- a/build/integration/features/bootstrap/CollaborationContext.php +++ b/build/integration/features/bootstrap/CollaborationContext.php @@ -11,7 +11,7 @@ use GuzzleHttp\Client; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class CollaborationContext implements Context { use Provisioning; diff --git a/build/integration/features/bootstrap/CommandLine.php b/build/integration/features/bootstrap/CommandLine.php index 0ffa1b9623d4c..5b9fab77ceba4 100644 --- a/build/integration/features/bootstrap/CommandLine.php +++ b/build/integration/features/bootstrap/CommandLine.php @@ -7,7 +7,7 @@ */ use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait CommandLine { /** @var int return code of last command */ diff --git a/build/integration/features/bootstrap/CommandLineContext.php b/build/integration/features/bootstrap/CommandLineContext.php index e776435627084..429b7ae3550f8 100644 --- a/build/integration/features/bootstrap/CommandLineContext.php +++ b/build/integration/features/bootstrap/CommandLineContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use Behat\Behat\Context\Exception\ContextNotFoundException; use Behat\Behat\Hook\Scope\BeforeScenarioScope; diff --git a/build/integration/features/bootstrap/CommentsContext.php b/build/integration/features/bootstrap/CommentsContext.php index 53001b1c20400..9c9dfafee10ab 100644 --- a/build/integration/features/bootstrap/CommentsContext.php +++ b/build/integration/features/bootstrap/CommentsContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class CommentsContext implements \Behat\Behat\Context\Context { /** @var string */ diff --git a/build/integration/features/bootstrap/ConversionsContext.php b/build/integration/features/bootstrap/ConversionsContext.php index ccd14c460f85f..223b8ee6b2de9 100644 --- a/build/integration/features/bootstrap/ConversionsContext.php +++ b/build/integration/features/bootstrap/ConversionsContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-or-later */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; diff --git a/build/integration/features/bootstrap/DavFeatureContext.php b/build/integration/features/bootstrap/DavFeatureContext.php index ec6085cff989b..62bb96d7582ef 100644 --- a/build/integration/features/bootstrap/DavFeatureContext.php +++ b/build/integration/features/bootstrap/DavFeatureContext.php @@ -8,7 +8,7 @@ use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class DavFeatureContext implements Context, SnippetAcceptingContext { use AppConfiguration; diff --git a/build/integration/features/bootstrap/Download.php b/build/integration/features/bootstrap/Download.php index 549a033346ee3..13f50fb860565 100644 --- a/build/integration/features/bootstrap/Download.php +++ b/build/integration/features/bootstrap/Download.php @@ -7,7 +7,7 @@ use PHPUnit\Framework\Assert; use Psr\Http\Message\StreamInterface; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait Download { /** @var string * */ diff --git a/build/integration/features/bootstrap/ExternalStorage.php b/build/integration/features/bootstrap/ExternalStorage.php index 8fe2653a02633..7dd39bd36db94 100644 --- a/build/integration/features/bootstrap/ExternalStorage.php +++ b/build/integration/features/bootstrap/ExternalStorage.php @@ -7,7 +7,7 @@ use Behat\Gherkin\Node\TableNode; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait ExternalStorage { private array $storageIds = []; diff --git a/build/integration/features/bootstrap/FeatureContext.php b/build/integration/features/bootstrap/FeatureContext.php index ab37556f93187..90734053920e9 100644 --- a/build/integration/features/bootstrap/FeatureContext.php +++ b/build/integration/features/bootstrap/FeatureContext.php @@ -8,7 +8,7 @@ use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** * Features context. diff --git a/build/integration/features/bootstrap/FederationContext.php b/build/integration/features/bootstrap/FederationContext.php index 95dc8119ad6a3..f067e15465c75 100644 --- a/build/integration/features/bootstrap/FederationContext.php +++ b/build/integration/features/bootstrap/FederationContext.php @@ -10,7 +10,7 @@ use Behat\Gherkin\Node\TableNode; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** * Federation context. diff --git a/build/integration/features/bootstrap/FilesDropContext.php b/build/integration/features/bootstrap/FilesDropContext.php index 0c437f28a72bd..4ccb58f08646f 100644 --- a/build/integration/features/bootstrap/FilesDropContext.php +++ b/build/integration/features/bootstrap/FilesDropContext.php @@ -8,7 +8,7 @@ use Behat\Behat\Context\SnippetAcceptingContext; use GuzzleHttp\Client; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class FilesDropContext implements Context, SnippetAcceptingContext { use WebDav; diff --git a/build/integration/features/bootstrap/FilesRemindersContext.php b/build/integration/features/bootstrap/FilesRemindersContext.php index 13adfaf5f83bf..ba2ea5784d336 100644 --- a/build/integration/features/bootstrap/FilesRemindersContext.php +++ b/build/integration/features/bootstrap/FilesRemindersContext.php @@ -7,7 +7,7 @@ use Behat\Behat\Context\Context; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** diff --git a/build/integration/features/bootstrap/MetadataContext.php b/build/integration/features/bootstrap/MetadataContext.php index 32042590c8640..1a60a24ce1d6e 100644 --- a/build/integration/features/bootstrap/MetadataContext.php +++ b/build/integration/features/bootstrap/MetadataContext.php @@ -11,7 +11,7 @@ use PHPUnit\Framework\Assert; use Sabre\DAV\Client as SClient; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class MetadataContext implements Context { private string $davPath = '/remote.php/dav'; diff --git a/build/integration/features/bootstrap/PrincipalPropertySearchContext.php b/build/integration/features/bootstrap/PrincipalPropertySearchContext.php index 9dfd937924016..c1b44dff90ad4 100644 --- a/build/integration/features/bootstrap/PrincipalPropertySearchContext.php +++ b/build/integration/features/bootstrap/PrincipalPropertySearchContext.php @@ -5,7 +5,7 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use Behat\Behat\Context\Context; use GuzzleHttp\BodySummarizer; diff --git a/build/integration/features/bootstrap/Provisioning.php b/build/integration/features/bootstrap/Provisioning.php index 16fb9e297c7a9..2203b815b0c16 100644 --- a/build/integration/features/bootstrap/Provisioning.php +++ b/build/integration/features/bootstrap/Provisioning.php @@ -11,7 +11,7 @@ use GuzzleHttp\Message\ResponseInterface; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait Provisioning { use BasicStructure; diff --git a/build/integration/features/bootstrap/RemoteContext.php b/build/integration/features/bootstrap/RemoteContext.php index 6102f686ea79f..2e1ba67d14f5a 100644 --- a/build/integration/features/bootstrap/RemoteContext.php +++ b/build/integration/features/bootstrap/RemoteContext.php @@ -8,7 +8,7 @@ use OCP\Http\Client\IClientService; use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** * Remote context. diff --git a/build/integration/features/bootstrap/RoutingContext.php b/build/integration/features/bootstrap/RoutingContext.php index 762570547e0fb..e8add77a936a6 100644 --- a/build/integration/features/bootstrap/RoutingContext.php +++ b/build/integration/features/bootstrap/RoutingContext.php @@ -7,7 +7,7 @@ use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; class RoutingContext implements Context, SnippetAcceptingContext { use Provisioning; diff --git a/build/integration/features/bootstrap/SetupContext.php b/build/integration/features/bootstrap/SetupContext.php index aa131cec597bd..84e8ffcff6d16 100644 --- a/build/integration/features/bootstrap/SetupContext.php +++ b/build/integration/features/bootstrap/SetupContext.php @@ -6,7 +6,7 @@ */ use Behat\Behat\Context\Context; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** diff --git a/build/integration/features/bootstrap/ShareesContext.php b/build/integration/features/bootstrap/ShareesContext.php index 37e0e63e5472c..db7632c17192d 100644 --- a/build/integration/features/bootstrap/ShareesContext.php +++ b/build/integration/features/bootstrap/ShareesContext.php @@ -8,7 +8,7 @@ use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** diff --git a/build/integration/features/bootstrap/Sharing.php b/build/integration/features/bootstrap/Sharing.php index d93f114f27bdb..c4ca33618d7dc 100644 --- a/build/integration/features/bootstrap/Sharing.php +++ b/build/integration/features/bootstrap/Sharing.php @@ -10,7 +10,7 @@ use PHPUnit\Framework\Assert; use Psr\Http\Message\ResponseInterface; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; diff --git a/build/integration/features/bootstrap/SharingContext.php b/build/integration/features/bootstrap/SharingContext.php index a9dd99108a9c4..c442317a32a38 100644 --- a/build/integration/features/bootstrap/SharingContext.php +++ b/build/integration/features/bootstrap/SharingContext.php @@ -7,7 +7,7 @@ use Behat\Behat\Context\Context; use Behat\Behat\Context\SnippetAcceptingContext; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** diff --git a/build/integration/features/bootstrap/TagsContext.php b/build/integration/features/bootstrap/TagsContext.php index c64626de68d40..cb30f83673cdd 100644 --- a/build/integration/features/bootstrap/TagsContext.php +++ b/build/integration/features/bootstrap/TagsContext.php @@ -5,7 +5,7 @@ * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; use Behat\Gherkin\Node\TableNode; use GuzzleHttp\Client; diff --git a/build/integration/features/bootstrap/Theming.php b/build/integration/features/bootstrap/Theming.php index f44a6533a1bda..765f1e443cb33 100644 --- a/build/integration/features/bootstrap/Theming.php +++ b/build/integration/features/bootstrap/Theming.php @@ -4,7 +4,7 @@ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait Theming { diff --git a/build/integration/features/bootstrap/Trashbin.php b/build/integration/features/bootstrap/Trashbin.php index 20478f8df68b7..ac3d1dee08d1e 100644 --- a/build/integration/features/bootstrap/Trashbin.php +++ b/build/integration/features/bootstrap/Trashbin.php @@ -8,7 +8,7 @@ use PHPUnit\Framework\Assert; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; /** * Trashbin functions diff --git a/build/integration/features/bootstrap/WebDav.php b/build/integration/features/bootstrap/WebDav.php index 2cb37002ac02c..a68a1f9f88d46 100644 --- a/build/integration/features/bootstrap/WebDav.php +++ b/build/integration/features/bootstrap/WebDav.php @@ -12,7 +12,7 @@ use Sabre\DAV\Client as SClient; use Sabre\DAV\Xml\Property\ResourceType; -require __DIR__ . '/../../vendor/autoload.php'; +require __DIR__ . '/autoload.php'; trait WebDav { diff --git a/build/integration/features/bootstrap/autoload.php b/build/integration/features/bootstrap/autoload.php new file mode 100644 index 0000000000000..a186262ebd302 --- /dev/null +++ b/build/integration/features/bootstrap/autoload.php @@ -0,0 +1,9 @@ +&2 + exit 1 +fi + OC_PATH=../../ OCC=${OC_PATH}occ TAGS="" @@ -38,8 +44,6 @@ else fi NC_DATADIR=$($OCC config:system:get datadirectory) -composer install - # avoid port collision on jenkins - use $EXECUTOR_NUMBER if [ -z "$EXECUTOR_NUMBER" ]; then EXECUTOR_NUMBER=0 @@ -88,7 +92,14 @@ if [ "$INSTALLED" == "true" ]; then fi -vendor/bin/behat --strict --colors -f junit -f pretty $TAGS $SCENARIO_TO_RUN +$BEHAT_EXECUTABLE \ + --strict \ + --colors \ + -f junit \ + -f pretty \ + $TAGS \ + $SCENARIO_TO_RUN + RESULT=$? if [ "$INSTALLED" == "true" ]; then diff --git a/tests/drone-run-integration-tests.sh b/tests/drone-run-integration-tests.sh deleted file mode 100755 index 78ff6d462bcab..0000000000000 --- a/tests/drone-run-integration-tests.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors -# SPDX-License-Identifier: AGPL-3.0-or-later - -echo "=========================" -echo "= List of changed files =" -echo "=========================" -git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA -echo "=========================" - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | wc -l) -eq 0 ]] && echo "No files are modified => merge commit" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep ".json" | grep -v "package.json" | grep -c -v "package-lock.json") -gt 0 ]] && echo "JSON files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".sh") -gt 0 ]] && echo "bash files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".yml") -gt 0 ]] && echo "YML files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".xml") -gt 0 ]] && echo "info.xml files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c ".php$") -gt 0 ]] && echo "PHP files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c "^build/integration/") -gt 0 ]] && echo "Integration test files are modified" && exit 0 - -[[ $(git diff --name-only origin/$DRONE_TARGET_BRANCH...$DRONE_COMMIT_SHA | grep -c "3rdparty") -gt 0 ]] && echo "3rdparty is modified" && exit 0 - -exit 1 diff --git a/vendor-bin/behat/composer.json b/vendor-bin/behat/composer.json new file mode 100644 index 0000000000000..79ccbc42ff033 --- /dev/null +++ b/vendor-bin/behat/composer.json @@ -0,0 +1,12 @@ +{ + "config": { + "platform": { + "php": "8.2" + }, + "sort-packages": true + }, + "require-dev": { + "behat/behat": "^3.27", + "phpunit/phpunit": "^11.5" + } +} diff --git a/build/integration/composer.lock b/vendor-bin/behat/composer.lock similarity index 90% rename from build/integration/composer.lock rename to vendor-bin/behat/composer.lock index 1752e4a52c889..76788293e8d9a 100644 --- a/build/integration/composer.lock +++ b/vendor-bin/behat/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0677358ad7e4458a82e81956fb23a06e", + "content-hash": "e8dffa37477666e1e9b9ab75900e5a1c", "packages": [], "packages-dev": [ { @@ -1214,16 +1214,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.42", + "version": "11.5.44", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c" + "reference": "c346885c95423eda3f65d85a194aaa24873cda82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c", - "reference": "1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c346885c95423eda3f65d85a194aaa24873cda82", + "reference": "c346885c95423eda3f65d85a194aaa24873cda82", "shasum": "" }, "require": { @@ -1295,7 +1295,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.42" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.44" }, "funding": [ { @@ -1319,7 +1319,7 @@ "type": "tidelift" } ], - "time": "2025-09-28T12:09:13+00:00" + "time": "2025-11-13T07:17:35+00:00" }, { "name": "psr/container", @@ -1678,451 +1678,6 @@ }, "time": "2019-03-08T08:55:37+00:00" }, - { - "name": "sabre/dav", - "version": "4.7.0", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/dav.git", - "reference": "074373bcd689a30bcf5aaa6bbb20a3395964ce7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/dav/zipball/074373bcd689a30bcf5aaa6bbb20a3395964ce7a", - "reference": "074373bcd689a30bcf5aaa6bbb20a3395964ce7a", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-dom": "*", - "ext-iconv": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "ext-spl": "*", - "lib-libxml": ">=2.7.0", - "php": "^7.1.0 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "sabre/event": "^5.0", - "sabre/http": "^5.0.5", - "sabre/uri": "^2.0", - "sabre/vobject": "^4.2.1", - "sabre/xml": "^2.0.1" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19", - "monolog/monolog": "^1.27 || ^2.0", - "phpstan/phpstan": "^0.12 || ^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "suggest": { - "ext-curl": "*", - "ext-imap": "*", - "ext-pdo": "*" - }, - "bin": [ - "bin/sabredav", - "bin/naturalselection" - ], - "type": "library", - "autoload": { - "psr-4": { - "Sabre\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "WebDAV Framework for PHP", - "homepage": "http://sabre.io/", - "keywords": [ - "CalDAV", - "CardDAV", - "WebDAV", - "framework", - "iCalendar" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/dav/issues", - "source": "https://github.com/fruux/sabre-dav" - }, - "time": "2024-10-29T11:46:02+00:00" - }, - { - "name": "sabre/event", - "version": "5.1.7", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/event.git", - "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/event/zipball/86d57e305c272898ba3c28e9bd3d65d5464587c2", - "reference": "86d57e305c272898ba3c28e9bd3d65d5464587c2", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||^3.63", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "type": "library", - "autoload": { - "files": [ - "lib/coroutine.php", - "lib/Loop/functions.php", - "lib/Promise/functions.php" - ], - "psr-4": { - "Sabre\\Event\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "sabre/event is a library for lightweight event-based programming", - "homepage": "http://sabre.io/event/", - "keywords": [ - "EventEmitter", - "async", - "coroutine", - "eventloop", - "events", - "hooks", - "plugin", - "promise", - "reactor", - "signal" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/event/issues", - "source": "https://github.com/fruux/sabre-event" - }, - "time": "2024-08-27T11:23:05+00:00" - }, - { - "name": "sabre/http", - "version": "5.1.12", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/http.git", - "reference": "dedff73f3995578bc942fa4c8484190cac14f139" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/http/zipball/dedff73f3995578bc942fa4c8484190cac14f139", - "reference": "dedff73f3995578bc942fa4c8484190cac14f139", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-curl": "*", - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabre/event": ">=4.0 <6.0", - "sabre/uri": "^2.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||^3.63", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "suggest": { - "ext-curl": " to make http requests with the Client class" - }, - "type": "library", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Sabre\\HTTP\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", - "homepage": "https://github.com/fruux/sabre-http", - "keywords": [ - "http" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/http/issues", - "source": "https://github.com/fruux/sabre-http" - }, - "time": "2024-08-27T16:07:41+00:00" - }, - { - "name": "sabre/uri", - "version": "2.3.4", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/uri.git", - "reference": "b76524c22de90d80ca73143680a8e77b1266c291" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/uri/zipball/b76524c22de90d80ca73143680a8e77b1266c291", - "reference": "b76524c22de90d80ca73143680a8e77b1266c291", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.63", - "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^1.12", - "phpstan/phpstan-phpunit": "^1.4", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "^9.6" - }, - "type": "library", - "autoload": { - "files": [ - "lib/functions.php" - ], - "psr-4": { - "Sabre\\Uri\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - } - ], - "description": "Functions for making sense out of URIs.", - "homepage": "http://sabre.io/uri/", - "keywords": [ - "rfc3986", - "uri", - "url" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/uri/issues", - "source": "https://github.com/fruux/sabre-uri" - }, - "time": "2024-08-27T12:18:16+00:00" - }, - { - "name": "sabre/vobject", - "version": "4.5.6", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/vobject.git", - "reference": "900266bb3bd448a9f7f41f82344ad0aba237cb27" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/vobject/zipball/900266bb3bd448a9f7f41f82344ad0aba237cb27", - "reference": "900266bb3bd448a9f7f41f82344ad0aba237cb27", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabre/xml": "^2.1 || ^3.0 || ^4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1", - "phpstan/phpstan": "^0.12 || ^1.11", - "phpunit/php-invoker": "^2.0 || ^3.1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "suggest": { - "hoa/bench": "If you would like to run the benchmark scripts" - }, - "bin": [ - "bin/vobject", - "bin/generate_vcards" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Sabre\\VObject\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - }, - { - "name": "Dominik Tobschall", - "email": "dominik@fruux.com", - "homepage": "http://tobschall.de/", - "role": "Developer" - }, - { - "name": "Ivan Enderlin", - "email": "ivan.enderlin@hoa-project.net", - "homepage": "http://mnt.io/", - "role": "Developer" - } - ], - "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", - "homepage": "http://sabre.io/vobject/", - "keywords": [ - "availability", - "freebusy", - "iCalendar", - "ical", - "ics", - "jCal", - "jCard", - "recurrence", - "rfc2425", - "rfc2426", - "rfc2739", - "rfc4770", - "rfc5545", - "rfc5546", - "rfc6321", - "rfc6350", - "rfc6351", - "rfc6474", - "rfc6638", - "rfc6715", - "rfc6868", - "vCalendar", - "vCard", - "vcf", - "xCal", - "xCard" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/vobject/issues", - "source": "https://github.com/fruux/sabre-vobject" - }, - "time": "2024-10-14T11:53:54+00:00" - }, - { - "name": "sabre/xml", - "version": "2.2.11", - "source": { - "type": "git", - "url": "https://github.com/sabre-io/xml.git", - "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabre-io/xml/zipball/01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", - "reference": "01a7927842abf3e10df3d9c2d9b0cc9d813a3fcc", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "lib-libxml": ">=2.6.20", - "php": "^7.1 || ^8.0", - "sabre/uri": ">=1.0,<3.0.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.17.1||3.63.2", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" - }, - "type": "library", - "autoload": { - "files": [ - "lib/Deserializer/functions.php", - "lib/Serializer/functions.php" - ], - "psr-4": { - "Sabre\\Xml\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Evert Pot", - "email": "me@evertpot.com", - "homepage": "http://evertpot.com/", - "role": "Developer" - }, - { - "name": "Markus Staab", - "email": "markus.staab@redaxo.de", - "role": "Developer" - } - ], - "description": "sabre/xml is an XML library that you may not hate.", - "homepage": "https://sabre.io/xml/", - "keywords": [ - "XMLReader", - "XMLWriter", - "dom", - "xml" - ], - "support": { - "forum": "https://groups.google.com/group/sabredav-discuss", - "issues": "https://github.com/sabre-io/xml/issues", - "source": "https://github.com/fruux/sabre-xml" - }, - "time": "2024-09-06T07:37:46+00:00" - }, { "name": "sebastian/cli-parser", "version": "3.0.2", @@ -4572,16 +4127,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -4610,7 +4165,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -4618,7 +4173,7 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [],