diff --git a/.drone.env b/.drone.env index e0dec84130..0918e85890 100644 --- a/.drone.env +++ b/.drone.env @@ -1,5 +1,5 @@ # The test runner source for API tests -CORE_COMMITID=b72258bf8ef1e483d92d42535abfe76f912d12a2 +CORE_COMMITID=9216217c4ae968f7dece7dc109d93ff7e3b10e4b CORE_BRANCH=master # The test runner source for UI tests diff --git a/.drone.star b/.drone.star index d5fe265838..11833cabdc 100644 --- a/.drone.star +++ b/.drone.star @@ -1,3 +1,14 @@ +"""oCIS CI defintion +""" + +# images +OC_CI_ALPINE = "owncloudci/alpine:latest" +OC_CI_GOLANG = "owncloudci/golang:1.17" +OC_CI_NODEJS = "owncloudci/nodejs:14" +OC_CI_PHP = "owncloudci/php:7.4" +MINIO_MC = "minio/mc:RELEASE.2021-10-07T04-19-58Z" + +# configuration config = { "modules": [ # if you add a module here please also add it to the root level Makefile @@ -260,7 +271,7 @@ def testOcisModule(ctx, module): steps = makeGenerate(module) + [ { "name": "golangci-lint", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "mkdir -p cache/checkstyle", "make -C %s ci-golangci-lint" % (module), @@ -270,7 +281,7 @@ def testOcisModule(ctx, module): }, { "name": "test", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "mkdir -p cache/coverage", "make -C %s test" % (module), @@ -378,7 +389,7 @@ def uploadScanResults(ctx): }, { "name": "sync-from-cache", - "image": "minio/mc:RELEASE.2021-03-23T05-46-11Z", + "image": MINIO_MC, "environment": { "MC_HOST_cachebucket": { "from_secret": "cache_s3_connection_url", @@ -405,7 +416,7 @@ def uploadScanResults(ctx): }, { "name": "purge-cache", - "image": "minio/mc:RELEASE.2021-03-23T05-46-11Z", + "image": MINIO_MC, "environment": { "MC_HOST_cachebucket": { "from_secret": "cache_s3_connection_url", @@ -426,10 +437,7 @@ def uploadScanResults(ctx): } def localApiTests(ctx, storage, suite, accounts_hash_difficulty = 4): - earlyFail = config["localApiTests"]["earlyFail"] if "earlyFail" in config["localApiTests"] else False - - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): - earlyFail = False + early_fail = config["localApiTests"]["earlyFail"] if "earlyFail" in config["localApiTests"] else False return { "kind": "pipeline", @@ -444,7 +452,7 @@ def localApiTests(ctx, storage, suite, accounts_hash_difficulty = 4): cloneCoreRepos() + [ { "name": "localApiTests-%s-%s" % (suite, storage), - "image": "owncloudci/php:7.4", + "image": OC_CI_PHP, "environment": { "TEST_SERVER_URL": "https://ocis-server:9200", "OCIS_REVA_DATA_ROOT": "%s" % ("/srv/app/tmp/ocis/owncloud/data/" if storage == "owncloud" else ""), @@ -463,7 +471,7 @@ def localApiTests(ctx, storage, suite, accounts_hash_difficulty = 4): ], "volumes": [stepVolumeOC10Tests], }, - ] + buildGithubCommentForBuildStopped("localApiTests-%s-%s" % (suite, storage), earlyFail) + githubComment(earlyFail) + stopBuild(earlyFail), + ] + failEarly(ctx, early_fail), "services": redisForOCStorage(storage), "depends_on": getPipelineNames([buildOcisBinaryForTesting(ctx)]), "trigger": { @@ -477,10 +485,7 @@ def localApiTests(ctx, storage, suite, accounts_hash_difficulty = 4): } def coreApiTests(ctx, part_number = 1, number_of_parts = 1, storage = "ocis", accounts_hash_difficulty = 4): - earlyFail = config["apiTests"]["earlyFail"] if "earlyFail" in config["apiTests"] else False - - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): - earlyFail = False + early_fail = config["apiTests"]["earlyFail"] if "earlyFail" in config["apiTests"] else False return { "kind": "pipeline", @@ -495,7 +500,7 @@ def coreApiTests(ctx, part_number = 1, number_of_parts = 1, storage = "ocis", ac cloneCoreRepos() + [ { "name": "oC10ApiTests-%s-storage-%s" % (storage, part_number), - "image": "owncloudci/php:7.4", + "image": OC_CI_PHP, "environment": { "TEST_SERVER_URL": "https://ocis-server:9200", "OCIS_REVA_DATA_ROOT": "%s" % ("/srv/app/tmp/ocis/owncloud/data/" if storage == "owncloud" else ""), @@ -515,7 +520,7 @@ def coreApiTests(ctx, part_number = 1, number_of_parts = 1, storage = "ocis", ac ], "volumes": [stepVolumeOC10Tests], }, - ] + buildGithubCommentForBuildStopped("Core-API-Tests-%s-storage-%s" % (storage, part_number), earlyFail) + githubComment(earlyFail) + stopBuild(earlyFail), + ] + failEarly(ctx, early_fail), "services": redisForOCStorage(storage), "depends_on": getPipelineNames([buildOcisBinaryForTesting(ctx)]), "trigger": { @@ -556,9 +561,6 @@ def uiTests(ctx): filterTags = params["filterTags"] earlyFail = params["earlyFail"] - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): - earlyFail = False - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "tag" or ctx.build.event == "cron"): numberOfParts = params["numberOfParts"] skipExceptParts = params["skipExceptParts"] @@ -576,7 +578,7 @@ def uiTests(ctx): return pipelines -def uiTestPipeline(ctx, filterTags, earlyFail, runPart = 1, numberOfParts = 1, storage = "ocis", uniqueName = "", accounts_hash_difficulty = 4): +def uiTestPipeline(ctx, filterTags, early_fail, runPart = 1, numberOfParts = 1, storage = "ocis", uniqueName = "", accounts_hash_difficulty = 4): standardFilterTags = "not @skipOnOCIS and not @skip and not @notToImplementOnOCIS and not @federated-server-needed" if filterTags == "": finalFilterTags = standardFilterTags @@ -608,7 +610,7 @@ def uiTestPipeline(ctx, filterTags, earlyFail, runPart = 1, numberOfParts = 1, s ocisServer(storage, accounts_hash_difficulty, [stepVolumeOC10Tests]) + [ { "name": "webUITests", - "image": "owncloudci/nodejs:14", + "image": OC_CI_NODEJS, "environment": { "SERVER_HOST": "https://ocis-server:9200", "BACKEND_HOST": "https://ocis-server:9200", @@ -640,7 +642,7 @@ def uiTestPipeline(ctx, filterTags, earlyFail, runPart = 1, numberOfParts = 1, s "path": "/uploads", }], }, - ] + buildGithubCommentForBuildStopped("Web-Tests-ocis-%s-storage-%s" % (storage, runPart), earlyFail) + githubComment(earlyFail) + stopBuild(earlyFail), + ] + failEarly(ctx, early_fail), "services": selenium(), "volumes": [pipelineVolumeOC10Tests] + [{ @@ -658,10 +660,7 @@ def uiTestPipeline(ctx, filterTags, earlyFail, runPart = 1, numberOfParts = 1, s } def accountsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): - earlyFail = config["accountsUITests"]["earlyFail"] if "earlyFail" in config["accountsUITests"] else False - - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): - earlyFail = False + early_fail = config["accountsUITests"]["earlyFail"] if "earlyFail" in config["accountsUITests"] else False return { "kind": "pipeline", @@ -675,7 +674,7 @@ def accountsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): ocisServer(storage, accounts_hash_difficulty, [stepVolumeOC10Tests]) + [ { "name": "WebUIAcceptanceTests", - "image": "owncloudci/nodejs:14", + "image": OC_CI_NODEJS, "environment": { "SERVER_HOST": "https://ocis-server:9200", "BACKEND_HOST": "https://ocis-server:9200", @@ -708,7 +707,7 @@ def accountsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "path": "/uploads", }], }, - ] + buildGithubCommentForBuildStopped("accountsUITests", earlyFail) + githubComment(earlyFail) + stopBuild(earlyFail), + ] + failEarly(ctx, early_fail), "services": selenium(), "volumes": [stepVolumeOC10Tests] + [{ @@ -726,10 +725,7 @@ def accountsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): } def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): - earlyFail = config["settingsUITests"]["earlyFail"] if "earlyFail" in config["settingsUITests"] else False - - if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): - earlyFail = False + early_fail = config["settingsUITests"]["earlyFail"] if "earlyFail" in config["settingsUITests"] else False return { "kind": "pipeline", @@ -743,7 +739,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): ocisServer(storage, accounts_hash_difficulty, [stepVolumeOC10Tests]) + [ { "name": "WebUIAcceptanceTests", - "image": "owncloudci/nodejs:14", + "image": OC_CI_NODEJS, "environment": { "SERVER_HOST": "https://ocis-server:9200", "BACKEND_HOST": "https://ocis-server:9200", @@ -774,7 +770,7 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): "path": "/uploads", }], }, - ] + buildGithubCommentForBuildStopped("settingsUITests", earlyFail) + githubComment(earlyFail) + stopBuild(earlyFail), + ] + failEarly(ctx, early_fail), "services": [ { "name": "redis", @@ -796,79 +792,68 @@ def settingsUITests(ctx, storage = "ocis", accounts_hash_difficulty = 4): }, } -def stopBuild(earlyFail): - if (earlyFail): - return [{ - "name": "stop-build", - "image": "drone/cli:alpine", - "environment": { - "DRONE_SERVER": "https://drone.owncloud.com", - "DRONE_TOKEN": { - "from_secret": "drone_token", +def failEarly(ctx, early_fail): + """failEarly sends posts a comment about the failed pipeline to the github pr and then kills all pipelines of the current build + + Args: + ctx: drone passes a context with information which the pipeline can be adapted to + early_fail: boolean if an early fail should happen or not + + Returns: + pipeline steps + """ + if ("full-ci" in ctx.build.title.lower() or ctx.build.event == "cron"): + return [] + + if (early_fail): + return [ + { + "name": "github-comment", + "image": "thegeeklab/drone-github-comment:1", + "settings": { + "message": ":boom: Acceptance test [${DRONE_STAGE_NAME}](${DRONE_BUILD_LINK}/${DRONE_STAGE_NUMBER}/1) failed. Further test are cancelled...", + "key": "pr-${DRONE_PULL_REQUEST}", #TODO: we could delete the comment after a successfull CI run + "update": "true", + "api_key": { + "from_secret": "github_token", + }, + }, + "when": { + "status": [ + "failure", + ], + "event": [ + "pull_request", + ], }, }, - "commands": [ - "drone build stop owncloud/ocis ${DRONE_BUILD_NUMBER}", - ], - "when": { - "status": [ - "failure", + { + "name": "stop-build", + "image": "drone/cli:alpine", + # # https://github.com/drone/runner-go/blob/0bd0f8fc31c489817572060d17c6e24aaa487470/pipeline/runtime/const.go#L95-L102 + # "failure": "fail-fast", + # would be an alternative, but is currently broken + "environment": { + "DRONE_SERVER": "https://drone.owncloud.com", + "DRONE_TOKEN": { + "from_secret": "drone_token", + }, + }, + "commands": [ + "drone build stop owncloud/ocis ${DRONE_BUILD_NUMBER}", ], - "event": [ - "pull_request", - ], - }, - }] - - else: - return [] - -def buildGithubCommentForBuildStopped(alternateSuiteName, earlyFail): - if (earlyFail): - return [{ - "name": "build-github-comment-buildStop", - "image": "owncloud/ubuntu:20.04", - "commands": [ - 'echo "
:boom: Acceptance tests %s failed. The build is cancelled...\\n\\n" >> /drone/src/comments.file' % alternateSuiteName, - ], - "when": { - "status": [ - "failure", - ], - "event": [ - "pull_request", - ], - }, - }] - - else: - return [] - -def githubComment(earlyFail): - if (earlyFail): - return [{ - "name": "github-comment", - "image": "jmccann/drone-github-comment:1", - "settings": { - "message_file": "/drone/src/comments.file", - }, - "environment": { - "GITHUB_TOKEN": { - "from_secret": "github_token", + "when": { + "status": [ + "failure", + ], + "event": [ + "pull_request", + ], }, }, - "when": { - "status": [ - "failure", - ], - "event": [ - "pull_request", - ], - }, - }] + ] - else: - return [] + return [] def dockerReleases(ctx): pipelines = [] @@ -902,7 +887,7 @@ def dockerRelease(ctx, arch): "steps": makeGenerate("") + [ { "name": "build", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis release-linux-docker", ], @@ -975,7 +960,7 @@ def dockerEos(ctx): "steps": makeGenerate("") + [ { "name": "build", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis release-linux-docker", ], @@ -1077,14 +1062,14 @@ def binaryRelease(ctx, name): "steps": makeGenerate("") + [ { "name": "build", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis release-%s" % (name), ], }, { "name": "finish", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis release-finish", ], @@ -1108,7 +1093,7 @@ def binaryRelease(ctx, name): }, { "name": "changelog", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make changelog CHANGELOG_VERSION=%s" % ctx.build.ref.replace("refs/tags/v", "").split("-")[0], ], @@ -1240,21 +1225,21 @@ def changelog(ctx): "steps": [ { "name": "generate", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis changelog", ], }, { "name": "diff", - "image": "owncloudci/alpine:latest", + "image": OC_CI_ALPINE, "commands": [ "git diff", ], }, { "name": "output", - "image": "owncloudci/alpine:latest", + "image": OC_CI_ALPINE, "commands": [ "cat CHANGELOG.md", ], @@ -1342,19 +1327,19 @@ def docs(ctx): "steps": [ { "name": "docs-generate", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": ["make -C %s docs-generate" % (module) for module in config["modules"]], }, { "name": "prepare", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C docs docs-copy", ], }, { "name": "test", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C docs test", ], @@ -1382,7 +1367,7 @@ def docs(ctx): }, { "name": "list and remove temporary files", - "image": "owncloudci/alpine:latest", + "image": OC_CI_ALPINE, "commands": [ "tree docs/hugo/public", "rm -rf docs/hugo", @@ -1425,7 +1410,7 @@ def makeGenerate(module): return [ { "name": "generate nodejs", - "image": "owncloudci/nodejs:14", + "image": OC_CI_NODEJS, "commands": [ "%s ci-node-generate" % (make), ], @@ -1433,7 +1418,7 @@ def makeGenerate(module): }, { "name": "generate go", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "%s ci-go-generate" % (make), ], @@ -1501,7 +1486,7 @@ def ocisServer(storage, accounts_hash_difficulty = 4, volumes = []): return [ { "name": "ocis-server", - "image": "owncloudci/alpine:latest", + "image": OC_CI_ALPINE, "detach": True, "environment": environment, "commands": [ @@ -1523,7 +1508,7 @@ def cloneCoreRepos(): return [ { "name": "clone-core-repos", - "image": "owncloudci/alpine:latest", + "image": OC_CI_ALPINE, "commands": [ "source /drone/src/.drone.env", "git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing", @@ -1565,7 +1550,7 @@ def build(): return [ { "name": "build", - "image": "owncloudci/golang:1.17", + "image": OC_CI_GOLANG, "commands": [ "make -C ocis build", ], @@ -1667,14 +1652,14 @@ def checkStarlark(): "steps": [ { "name": "format-check-starlark", - "image": "owncloudci/bazel-buildifier", + "image": "owncloudci/bazel-buildifier:latest", "commands": [ "buildifier --mode=check .drone.star", ], }, { "name": "show-diff", - "image": "owncloudci/bazel-buildifier", + "image": "owncloudci/bazel-buildifier:latest", "commands": [ "buildifier --mode=fix .drone.star", "git diff", @@ -1742,7 +1727,7 @@ def genericCachePurge(ctx, name, cache_key): "steps": [ { "name": "purge-cache", - "image": "minio/mc:RELEASE.2021-03-23T05-46-11Z", + "image": MINIO_MC, "failure": "ignore", "environment": { "MC_HOST_cache": { diff --git a/docs/ocis/deployment/ocis_keycloak.md b/docs/ocis/deployment/ocis_keycloak.md index 300b725e81..727e79268d 100644 --- a/docs/ocis/deployment/ocis_keycloak.md +++ b/docs/ocis/deployment/ocis_keycloak.md @@ -17,7 +17,8 @@ geekdocFilePath: ocis_keycloak.md [Find this example on GitHub](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_keycloak) -The docker stack consists 4 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. +The docker stack consists 4 containers. One of them is Traefik, a proxy which is terminating ssl and forwards the requests to oCIS in the internal docker network. It +is also responsible for redirecting requests on the OIDC discovery endpoints (e.g. `.well-known/openid-configuration`) to the correct destination in Keycloak. Keycloak add two containers: Keycloak itself and a PostgreSQL as database. Keycloak will be configured as oCIS' IDP instead of the internal IDP [LibreGraph Connect]({{< ref "../../extensions/idp" >}}) diff --git a/go.mod b/go.mod index 3d48f53b1c..2701666730 100644 --- a/go.mod +++ b/go.mod @@ -16,13 +16,13 @@ require ( github.com/asim/go-micro/plugins/wrapper/breaker/gobreaker/v4 v4.0.0-20211028090348-ed690ed838cc github.com/asim/go-micro/plugins/wrapper/monitoring/prometheus/v4 v4.0.0-20211028090348-ed690ed838cc github.com/asim/go-micro/plugins/wrapper/trace/opencensus/v4 v4.0.0-20211028090348-ed690ed838cc - github.com/blevesearch/bleve/v2 v2.2.1 + github.com/blevesearch/bleve/v2 v2.2.2 github.com/coreos/go-oidc/v3 v3.1.0 github.com/cs3org/go-cs3apis v0.0.0-20211018122138-391b29bd7803 github.com/cs3org/reva v1.15.1-0.20211027114107-4879bf6be97a github.com/disintegration/imaging v1.6.2 github.com/glauth/glauth/v2 v2.0.0-20211021011345-ef3151c28733 - github.com/go-chi/chi/v5 v5.0.4 + github.com/go-chi/chi/v5 v5.0.5 github.com/go-chi/cors v1.2.0 github.com/go-chi/render v1.0.1 github.com/go-logr/logr v0.4.0 @@ -49,7 +49,7 @@ require ( github.com/owncloud/open-graph-api-go v0.0.0-20211018134924-bea0e2a6ec3e github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.11.0 - github.com/rs/zerolog v1.25.0 + github.com/rs/zerolog v1.26.0 github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.2.1 github.com/spf13/viper v1.9.0 @@ -59,7 +59,7 @@ require ( github.com/yaegashi/msgraph.go v0.1.4 go-micro.dev/v4 v4.2.1 go.opencensus.io v0.23.0 - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.26.0 go.opentelemetry.io/otel v1.1.0 go.opentelemetry.io/otel/exporters/jaeger v1.1.0 go.opentelemetry.io/otel/sdk v1.1.0 diff --git a/go.sum b/go.sum index 4999acb841..479c3f601f 100644 --- a/go.sum +++ b/go.sum @@ -188,8 +188,8 @@ github.com/bits-and-blooms/bitset v1.2.1 h1:M+/hrU9xlMp7t4TyTDQW97d3tRPVuKFC6zBE github.com/bits-and-blooms/bitset v1.2.1/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blevesearch/bleve/v2 v2.2.1 h1:Cgyjn2Nr1/+jLSnU+1GEfEs4rtvaHkmmH0M+8c4Pn9E= -github.com/blevesearch/bleve/v2 v2.2.1/go.mod h1:D5bhQ5baElbPGQARUm4j+NrWlrmIrndMJqviN+U9ndk= +github.com/blevesearch/bleve/v2 v2.2.2 h1:kBLSCEcAs7VvH4S/JkpYwR4Jnpuv/3FNl6LWg6fqCmY= +github.com/blevesearch/bleve/v2 v2.2.2/go.mod h1:D5bhQ5baElbPGQARUm4j+NrWlrmIrndMJqviN+U9ndk= github.com/blevesearch/bleve_index_api v1.0.1 h1:nx9++0hnyiGOHJwQQYfsUGzpRdEVE5LsylmmngQvaFk= github.com/blevesearch/bleve_index_api v1.0.1/go.mod h1:fiwKS0xLEm+gBRgv5mumf0dhgFr2mDgZah1pqv1c1M4= github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo= @@ -376,8 +376,9 @@ github.com/go-asn1-ber/asn1-ber v1.5.3 h1:u7utq56RUFiynqUzgVMFDymapcOtQ/MZkh3H4Q github.com/go-asn1-ber/asn1-ber v1.5.3/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v4.0.2+incompatible h1:maB6vn6FqCxrpz4FqWdh4+lwpyZIQS7YEAUcHlgXVRs= github.com/go-chi/chi v4.0.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= -github.com/go-chi/chi/v5 v5.0.4 h1:5e494iHzsYBiyXQAHHuI4tyJS9M3V84OuX3ufIIGHFo= github.com/go-chi/chi/v5 v5.0.4/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/chi/v5 v5.0.5 h1:l3RJ8T8TAqLsXFfah+RA6N4pydMbPwSdvNM+AFWvLUM= +github.com/go-chi/chi/v5 v5.0.5/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/cors v1.2.0 h1:tV1g1XENQ8ku4Bq3K9ub2AtgG+p16SmzeMSGTwrOKdE= github.com/go-chi/cors v1.2.0/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58= github.com/go-chi/render v1.0.1 h1:4/5tis2cKaNdnv9zFLfXzcquC9HbeZgCnxGnKrltBS8= @@ -1124,8 +1125,9 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= -github.com/rs/zerolog v1.25.0 h1:Rj7XygbUHKUlDPcVdoLyR91fJBsduXj5fRxyqIQj/II= github.com/rs/zerolog v1.25.0/go.mod h1:7KHcEGe0QZPOm2IE4Kpb5rTh6n1h2hIgS5OOnu1rUaI= +github.com/rs/zerolog v1.26.0 h1:ORM4ibhEZeTeQlCojCK2kPz1ogAY4bGs4tD+SaAdGaE= +github.com/rs/zerolog v1.26.0/go.mod h1:yBiM87lvSqX8h0Ww4sdzNSkVYZ8dL2xjZJG1lAuGZEo= github.com/russellhaering/goxmldsig v1.1.0/go.mod h1:QK8GhXPB3+AfuCrfo0oRISa9NfzeCpWmxeGnqEpDF9o= github.com/russellhaering/goxmldsig v1.1.1 h1:vI0r2osGF1A9PLvsGdPUAGwEIrKa4Pj5sesSBsebIxM= github.com/russellhaering/goxmldsig v1.1.1/go.mod h1:gM4MDENBQf7M+V824SGfyIUVFWydB7n0KkEubVJl+Tw= @@ -1325,8 +1327,9 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 h1:Wx7nFnvCaissIUZxPkBqDz2963Z+Cl+PkYbDKzTxDqQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0/go.mod h1:E5NNboN0UqSAki0Atn9kVwaN7I+l25gGxDqBueo/74E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.26.0 h1:1EGNmTL4j/mB2FHejUloEnshwKwhHjfwQerqEJvGu7I= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.26.0/go.mod h1:4wsfAAW5N9wUHM0QTmZS8z7fvYZ1rv3m+sVeSpf8NhU= go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU= go.opentelemetry.io/otel v1.1.0 h1:8p0uMLcyyIx0KHNTgO8o3CW8A1aA+dJZJW6PvnMz0Wc= go.opentelemetry.io/otel v1.1.0/go.mod h1:7cww0OW51jQ8IaZChIEdqLwgh+44+7uiTdWsAL0wQpA= diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index 6b1d48ad4b..953ae97896 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -340,6 +340,14 @@ File and sync features in a shared scenario - [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:47](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L47) - [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:48](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L48) +#### [Shares received in different ways are not merged](https://github.com/owncloud/ocis/issues/2711) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:553](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L553) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:554](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L554) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:598](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L598) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:599](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L599) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:621](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L621) +- [apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature:622](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareCreateSpecialToShares1/createShareReceivedInMultipleWays.feature#L622) + #### [file_target of a auto-renamed file is not correct directly after sharing](https://github.com/owncloud/core/issues/32322) - [apiShareManagementBasicToShares/deleteShareFromShares.feature:59](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementBasicToShares/deleteShareFromShares.feature#L59) - [apiShareManagementToShares/mergeShare.feature:89](https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiShareManagementToShares/mergeShare.feature#L89)