diff --git a/.github/acceptance/expected-failures-10.16.6-full.md b/.github/acceptance/expected-failures-10.16.6-full.md index f13d246..034117c 100644 --- a/.github/acceptance/expected-failures-10.16.6-full.md +++ b/.github/acceptance/expected-failures-10.16.6-full.md @@ -5,18 +5,8 @@ ## CLI -# Found in this repository's CI. cliExternalStorage needs a second ownCloud server -# to mount over WebDAV; the others depend on how the image is set up. +# Found in this repository's CI; they depend on how the image is set up. - [cliDbConversion/dbConversion.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliDbConversion/dbConversion.feature#L30) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L107) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:128](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L128) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L150) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L212) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:232](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L232) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:273](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L273) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:382](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L382) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L67) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L86) - [cliMain/configKey.feature:81](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliMain/configKey.feature#L81) - [cliManageApps/appsPath.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L18) - [cliManageApps/appsPath.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L36) @@ -32,21 +22,5 @@ - [apiMain/appManagement.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L28) - [apiMain/appManagement.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L40) - [apiMain/appManagement.feature:52](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L52) -- [apiMain/external-storage.feature:65](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/external-storage.feature#L65) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:109](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L109) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:57](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L57) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:83](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L83) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L113) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:114](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L114) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L62) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L87) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L88) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L40) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L63) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L64) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L44) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:68](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L68) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L89) -- [apiTrashbinRestore/trashbinRestore.feature:171](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbinRestore/trashbinRestore.feature#L171) - [apiWebdavMove1/moveFileAsync.feature:266](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavMove1/moveFileAsync.feature#L266) - [apiWebdavPreviews/previews.feature:281](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdavPreviews/previews.feature#L281) diff --git a/.github/acceptance/expected-failures-10.16.6-smoke.md b/.github/acceptance/expected-failures-10.16.6-smoke.md index b9d193b..1051f13 100644 --- a/.github/acceptance/expected-failures-10.16.6-smoke.md +++ b/.github/acceptance/expected-failures-10.16.6-smoke.md @@ -5,18 +5,8 @@ ## CLI -# Found in this repository's CI. cliExternalStorage needs a second ownCloud server -# to mount over WebDAV; the others depend on how the image is set up. +# Found in this repository's CI; they depend on how the image is set up. - [cliDbConversion/dbConversion.feature:30](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliDbConversion/dbConversion.feature#L30) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L107) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:128](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L128) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L150) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L212) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:232](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L232) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:273](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L273) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:382](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L382) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L67) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L86) - [cliMain/configKey.feature:81](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliMain/configKey.feature#L81) - [cliManageApps/appsPath.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L18) - [cliManageApps/appsPath.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L36) diff --git a/.github/acceptance/expected-failures-11.0.1-full.md b/.github/acceptance/expected-failures-11.0.1-full.md index a98500a..3ba5e8a 100644 --- a/.github/acceptance/expected-failures-11.0.1-full.md +++ b/.github/acceptance/expected-failures-11.0.1-full.md @@ -5,17 +5,7 @@ ## CLI -# Found in this repository's CI. cliExternalStorage needs a second ownCloud server -# to mount over WebDAV; the others depend on how the image is set up. -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L107) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:128](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L128) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L150) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L212) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:232](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L232) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:273](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L273) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:382](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L382) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L67) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L86) +# Found in this repository's CI; they depend on how the image is set up. - [cliMain/configKey.feature:101](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliMain/configKey.feature#L101) - [cliManageApps/appsPath.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L18) - [cliManageApps/appsPath.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L36) @@ -31,19 +21,3 @@ - [apiMain/appManagement.feature:28](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L28) - [apiMain/appManagement.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L40) - [apiMain/appManagement.feature:52](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/appManagement.feature#L52) -- [apiMain/external-storage.feature:65](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiMain/external-storage.feature#L65) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:109](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L109) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:57](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L57) -- [apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature:83](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToRoot/createShareFromLocalStorageToRootFolder.feature#L83) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:113](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L113) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:114](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L114) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:62](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L62) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:87](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L87) -- [apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature:88](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/createShareFromLocalStorageToSharesFolder.feature#L88) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:40](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L40) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:63](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L63) -- [apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature:64](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToRoot/moveReceivedShareFromLocalStorage.feature#L64) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:44](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L44) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:68](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L68) -- [apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/moveReceivedShareFromLocalStorage.feature#L89) -- [apiTrashbinRestore/trashbinRestore.feature:171](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiTrashbinRestore/trashbinRestore.feature#L171) diff --git a/.github/acceptance/expected-failures-11.0.1-smoke.md b/.github/acceptance/expected-failures-11.0.1-smoke.md index 8f3d3cf..bf09d3a 100644 --- a/.github/acceptance/expected-failures-11.0.1-smoke.md +++ b/.github/acceptance/expected-failures-11.0.1-smoke.md @@ -5,17 +5,7 @@ ## CLI -# Found in this repository's CI. cliExternalStorage needs a second ownCloud server -# to mount over WebDAV; the others depend on how the image is set up. -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:107](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L107) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:128](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L128) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:150](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L150) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:212](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L212) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:232](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L232) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:273](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L273) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:382](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L382) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:67](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L67) -- [cliExternalStorage/filesExternalWebdavOwncloud.feature:86](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliExternalStorage/filesExternalWebdavOwncloud.feature#L86) +# Found in this repository's CI; they depend on how the image is set up. - [cliMain/configKey.feature:101](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliMain/configKey.feature#L101) - [cliManageApps/appsPath.feature:18](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L18) - [cliManageApps/appsPath.feature:36](https://github.com/owncloud/core/blob/master/tests/acceptance/features/cliManageApps/appsPath.feature#L36) diff --git a/.github/acceptance/run-part.sh b/.github/acceptance/run-part.sh index af53ee5..7b87328 100755 --- a/.github/acceptance/run-part.sh +++ b/.github/acceptance/run-part.sh @@ -17,13 +17,14 @@ set -uo pipefail image=$1 php=$2 type=$3 part=$4 parts=$5 tags=$6 : "${QA_DIR:?}" "${TESTING_DIR:?}" "${LOG_DIR:?}" -net=acceptance db=acceptance-db srv=acceptance-server +net=acceptance db=acceptance-db redis=acceptance-redis srv=acceptance-server mkdir -p "${LOG_DIR}" cleanup() { docker logs "${srv}" >"${LOG_DIR}/server.log" 2>&1 docker logs "${db}" >"${LOG_DIR}/database.log" 2>&1 - docker rm -f "${srv}" "${db}" >/dev/null 2>&1 + docker logs "${redis}" >"${LOG_DIR}/redis.log" 2>&1 + docker rm -f "${srv}" "${db}" "${redis}" >/dev/null 2>&1 docker network rm "${net}" >/dev/null 2>&1 } trap cleanup EXIT @@ -41,11 +42,23 @@ for _ in $(seq 60); do done [[ "${ready}" == true ]] || { echo "MariaDB did not become ready" >&2; exit 1; } +# Redis for caching and file locking, as recommended for production. With the +# image's default database locking, uploads into a local storage mount created +# during a test failed with 423 Locked, differently from run to run. +docker run -d --name "${redis}" --network "${net}" redis:7 >/dev/null +ready=false +for _ in $(seq 30); do + [[ "$(docker exec "${redis}" redis-cli ping 2>/dev/null)" == PONG ]] && ready=true && break + sleep 1 +done +[[ "${ready}" == true ]] || { echo "Redis did not start" >&2; exit 1; } + docker run -d --name "${srv}" --network "${net}" \ -e OWNCLOUD_DOMAIN="${srv}:8080" -e OWNCLOUD_TRUSTED_DOMAINS="${srv},localhost" \ -e OWNCLOUD_DB_TYPE=mysql -e OWNCLOUD_DB_HOST="${db}" -e OWNCLOUD_DB_NAME=owncloud \ -e OWNCLOUD_DB_USERNAME=owncloud -e OWNCLOUD_DB_PASSWORD=owncloud \ -e OWNCLOUD_ADMIN_USERNAME=admin -e OWNCLOUD_ADMIN_PASSWORD=admin \ + -e OWNCLOUD_REDIS_ENABLED=true -e OWNCLOUD_REDIS_HOST="${redis}" \ "${image}" >/dev/null # the image has no HEALTHCHECK; the entrypoint logs this once installation is done. # Capture the logs first: under pipefail, grep -q closing the pipe early can fail it. diff --git a/.github/workflows/acceptance.yml b/.github/workflows/acceptance.yml index 8c602f8..3288abb 100644 --- a/.github/workflows/acceptance.yml +++ b/.github/workflows/acceptance.yml @@ -47,10 +47,7 @@ jobs: env: FULL: ${{ inputs.full }} run: | - # @local_storage: uploads into a local mount created during the test get 423 - # Locked, and which scenarios fail changes from run to run, so no - # expected-failures list can hold them. Excluded until that is solved. - base='~@skip&&~@skipOnDockerContainerTesting&&~@federation-app-required&&~@local_storage' + base='~@skip&&~@skipOnDockerContainerTesting&&~@federation-app-required' if [ "${FULL}" = true ]; then api_parts=10 api_tags="${base}" else