From 96639c76c534cdf9647049405ede258d7eaee797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 12 Mar 2025 14:58:56 +0100 Subject: [PATCH 1/8] simplify build steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .woodpecker/build.yaml | 39 +++++++++++++------ .woodpecker/cs3api-validator-decomposed.yaml | 39 ------------------- .woodpecker/cs3api-validator-posix.yaml | 38 ------------------ .../ci/storage-users-decomposed.toml | 2 +- 4 files changed, 28 insertions(+), 90 deletions(-) delete mode 100644 .woodpecker/cs3api-validator-decomposed.yaml delete mode 100644 .woodpecker/cs3api-validator-posix.yaml diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index da5379e3e94..c6af53ce7df 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -1,6 +1,7 @@ --- variables: - &golang_image 'docker.io/golang:1.24' + - &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1' when: - event: [ push , manual ] @@ -11,28 +12,17 @@ workspace: base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace steps: - inotify-info: - image: *golang_image - depends_on: [] # enable parallel steps - commands: - - git clone https://github.com/mikesart/inotify-info - - cd inotify-info - - make - - _release/inotify-info generate: image: *golang_image - depends_on: [] # enable parallel steps commands: - make go-generate - git diff --exit-code lint: image: *golang_image - depends_on: [ generate ] commands: - make lint build: image: *golang_image - depends_on: [ generate ] commands: - make build-ci test: @@ -45,9 +35,34 @@ steps: image: *golang_image depends_on: [ build ] commands: - - make test-integration + - cd tests/integration && go test -race ./... test-benchmark: image: *golang_image depends_on: [ build ] commands: - make test-benchmark + revad-services-decomposed: + image: *golang_image + depends_on: [ test-benchmark ] + detach: true + commands: + - cd tests/oc-integration-tests/ci/ + - ../../../cmd/revad/revad -c frontend.toml & + - ../../../cmd/revad/revad -c gateway.toml & + - ../../../cmd/revad/revad -c storage-users-decomposed.toml & + - ../../../cmd/revad/revad -c storage-shares.toml & + - ../../../cmd/revad/revad -c storage-publiclink.toml & + - ../../../cmd/revad/revad -c shares.toml & + - ../../../cmd/revad/revad -c permissions-demo-ci.toml & + - ../../../cmd/revad/revad -c users.toml + wait-for-revad-services-decomposed: + image: ghcr.io/dvjn/woodpecker-is-it-up-yet-plugin + depends_on: [ test-benchmark ] + settings: + host: revad-services-decomposed + port: 19000 + cs3api-validator-decomposed: + image: *cs3apivalidator_image + depends_on: [ wait-for-revad-services-decomposed ] + commands: + - /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services-decomposed:19000 \ No newline at end of file diff --git a/.woodpecker/cs3api-validator-decomposed.yaml b/.woodpecker/cs3api-validator-decomposed.yaml deleted file mode 100644 index 55d45dff6e3..00000000000 --- a/.woodpecker/cs3api-validator-decomposed.yaml +++ /dev/null @@ -1,39 +0,0 @@ ---- -variables: - - &golang_image 'docker.io/golang:1.24' - - &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1' - -when: - - event: [ push , manual ] - branch: ${CI_REPO_DEFAULT_BRANCH} - - event: [ pull_request ] - -workspace: - base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace - -steps: - wait_for_server: - image: ghcr.io/dvjn/woodpecker-is-it-up-yet-plugin - settings: - host: revad-services - port: 19000 - cs3api-validator-oci: - image: *cs3apivalidator_image - depends_on: [ wait_for_server ] - commands: - - /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services:19000 - -services: - revad-services: - image: *golang_image - commands: - - go build -o ./cmd/revad/revad ./cmd/revad - - cd tests/oc-integration-tests/ci/ - - ../../../cmd/revad/revad -c frontend.toml & - - ../../../cmd/revad/revad -c gateway.toml & - - ../../../cmd/revad/revad -c storage-users-decomposed.toml & - - ../../../cmd/revad/revad -c storage-shares.toml & - - ../../../cmd/revad/revad -c storage-publiclink.toml & - - ../../../cmd/revad/revad -c shares.toml & - - ../../../cmd/revad/revad -c permissions-demo-ci.toml & - - ../../../cmd/revad/revad -c users.toml \ No newline at end of file diff --git a/.woodpecker/cs3api-validator-posix.yaml b/.woodpecker/cs3api-validator-posix.yaml deleted file mode 100644 index 50dc00398e9..00000000000 --- a/.woodpecker/cs3api-validator-posix.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -variables: - - &golang_image 'docker.io/golang:1.24' - - &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1' - -when: - - event: [ manual ] - -workspace: - base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace - -steps: - wait_for_server: - image: ghcr.io/dvjn/woodpecker-is-it-up-yet-plugin - settings: - host: revad-services - port: 19000 - cs3api-validator-oci: - image: *cs3apivalidator_image - depends_on: [ wait_for_server ] - commands: - - /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services:19000 - -services: - revad-services: - image: *golang_image - commands: - - apt-get update -qq && apt-get install -y inotify-tools - - go build -o ./cmd/revad/revad ./cmd/revad - - cd tests/oc-integration-tests/ci/ - - ../../../cmd/revad/revad -c frontend.toml & - - ../../../cmd/revad/revad -c gateway.toml & - - ../../../cmd/revad/revad -c storage-users-posix.toml & - - ../../../cmd/revad/revad -c storage-shares.toml & - - ../../../cmd/revad/revad -c storage-publiclink.toml & - - ../../../cmd/revad/revad -c shares.toml & - - ../../../cmd/revad/revad -c permissions-demo-ci.toml & - - ../../../cmd/revad/revad -c users.toml \ No newline at end of file diff --git a/tests/oc-integration-tests/ci/storage-users-decomposed.toml b/tests/oc-integration-tests/ci/storage-users-decomposed.toml index b829aeed6e3..9ac32b5141f 100644 --- a/tests/oc-integration-tests/ci/storage-users-decomposed.toml +++ b/tests/oc-integration-tests/ci/storage-users-decomposed.toml @@ -16,7 +16,7 @@ address = "0.0.0.0:11000" [grpc.services.storageprovider] driver = "decomposed" expose_data_server = true -data_server_url = "http://revad-services:11001/data" +data_server_url = "http://revad-services-decomposed:11001/data" gateway_addr = "0.0.0.0:19000" mount_id = "1284d238-aa92-42ce-bdc4-0b0000009157" From ddf716f9347db566435ec2c3d703306a926cfb83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 13 Mar 2025 15:41:25 +0100 Subject: [PATCH 2/8] used dedicated workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .woodpecker/build.yaml | 69 ++++++++----------- .woodpecker/cs3api-validator-decomposed.yaml | 52 ++++++++++++++ .../ci/storage-users-decomposed.toml | 2 +- 3 files changed, 82 insertions(+), 41 deletions(-) create mode 100644 .woodpecker/cs3api-validator-decomposed.yaml diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index c6af53ce7df..e1ec070ad77 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -1,7 +1,6 @@ --- variables: - &golang_image 'docker.io/golang:1.24' - - &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1' when: - event: [ push , manual ] @@ -25,44 +24,34 @@ steps: image: *golang_image commands: - make build-ci - test: - image: *golang_image + #test: + # image: *golang_image + # depends_on: [ build ] + # commands: + # - apt-get update -qq && apt-get install -y inotify-tools + # - make test + #test-integration: + # image: *golang_image + # depends_on: [ build ] + # commands: + # - cd tests/integration && go test -race ./... + #test-benchmark: + # image: *golang_image + # depends_on: [ build ] + # commands: + # - make test-benchmark + upload: + image: minio/mc:RELEASE.2021-10-07T04-19-58Z depends_on: [ build ] + environment: + AWS_ACCESS_KEY_ID: + from_secret: cache_s3_access_key + AWS_SECRET_ACCESS_KEY: + from_secret: cache_s3_secret_key + S3_BUCKET: + from_secret: cache_s3_bucket + S3_ENDPOINT: + from_secret: cache_s3_server commands: - - apt-get update -qq && apt-get install -y inotify-tools - - make test - test-integration: - image: *golang_image - depends_on: [ build ] - commands: - - cd tests/integration && go test -race ./... - test-benchmark: - image: *golang_image - depends_on: [ build ] - commands: - - make test-benchmark - revad-services-decomposed: - image: *golang_image - depends_on: [ test-benchmark ] - detach: true - commands: - - cd tests/oc-integration-tests/ci/ - - ../../../cmd/revad/revad -c frontend.toml & - - ../../../cmd/revad/revad -c gateway.toml & - - ../../../cmd/revad/revad -c storage-users-decomposed.toml & - - ../../../cmd/revad/revad -c storage-shares.toml & - - ../../../cmd/revad/revad -c storage-publiclink.toml & - - ../../../cmd/revad/revad -c shares.toml & - - ../../../cmd/revad/revad -c permissions-demo-ci.toml & - - ../../../cmd/revad/revad -c users.toml - wait-for-revad-services-decomposed: - image: ghcr.io/dvjn/woodpecker-is-it-up-yet-plugin - depends_on: [ test-benchmark ] - settings: - host: revad-services-decomposed - port: 19000 - cs3api-validator-decomposed: - image: *cs3apivalidator_image - depends_on: [ wait-for-revad-services-decomposed ] - commands: - - /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services-decomposed:19000 \ No newline at end of file + - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + - mc cp -a --attr="content-type=application/octet-stream" $CI_WORKSPACE/cmd/revad/revad s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad diff --git a/.woodpecker/cs3api-validator-decomposed.yaml b/.woodpecker/cs3api-validator-decomposed.yaml new file mode 100644 index 00000000000..053913ea196 --- /dev/null +++ b/.woodpecker/cs3api-validator-decomposed.yaml @@ -0,0 +1,52 @@ +--- +depends_on: [ build ] + +variables: + - &golang_image 'docker.io/golang:1.24' + - &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1' + +when: + - event: [ push , manual ] + branch: ${CI_REPO_DEFAULT_BRANCH} + - event: [ pull_request ] + +workspace: + base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace + +steps: + fetch-binary: + image: minio/mc:RELEASE.2021-10-07T04-19-58Z + environment: + AWS_ACCESS_KEY_ID: + from_secret: cache_s3_access_key + AWS_SECRET_ACCESS_KEY: + from_secret: cache_s3_secret_key + S3_BUCKET: + from_secret: cache_s3_bucket + S3_ENDPOINT: + from_secret: cache_s3_server + commands: + - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + - mc cp -a s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad $CI_WORKSPACE/cmd/revad/revad + revad-services: + image: *golang_image + detach: true + commands: + - cd tests/oc-integration-tests/ci/ + - ../../../cmd/revad/revad -c frontend.toml & + - ../../../cmd/revad/revad -c gateway.toml & + - ../../../cmd/revad/revad -c storage-users-decomposed.toml & + - ../../../cmd/revad/revad -c storage-shares.toml & + - ../../../cmd/revad/revad -c storage-publiclink.toml & + - ../../../cmd/revad/revad -c shares.toml & + - ../../../cmd/revad/revad -c permissions-demo-ci.toml & + - ../../../cmd/revad/revad -c users.toml + wait_for_server: + image: ghcr.io/dvjn/woodpecker-is-it-up-yet-plugin + settings: + host: revad-services + port: 19000 + cs3api-validator-oci: + image: *cs3apivalidator_image + commands: + - /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services:19000 diff --git a/tests/oc-integration-tests/ci/storage-users-decomposed.toml b/tests/oc-integration-tests/ci/storage-users-decomposed.toml index 9ac32b5141f..b829aeed6e3 100644 --- a/tests/oc-integration-tests/ci/storage-users-decomposed.toml +++ b/tests/oc-integration-tests/ci/storage-users-decomposed.toml @@ -16,7 +16,7 @@ address = "0.0.0.0:11000" [grpc.services.storageprovider] driver = "decomposed" expose_data_server = true -data_server_url = "http://revad-services-decomposed:11001/data" +data_server_url = "http://revad-services:11001/data" gateway_addr = "0.0.0.0:19000" mount_id = "1284d238-aa92-42ce-bdc4-0b0000009157" From b3be0f04a3858e29f0e8ee73992b2846e8346a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 13 Mar 2025 16:57:09 +0100 Subject: [PATCH 3/8] dedicated test steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .woodpecker/test-benchmark.yaml | 20 ++++++++++++++++++++ .woodpecker/test-integration.yaml | 19 +++++++++++++++++++ .woodpecker/test.yaml | 21 +++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 .woodpecker/test-benchmark.yaml create mode 100644 .woodpecker/test-integration.yaml create mode 100644 .woodpecker/test.yaml diff --git a/.woodpecker/test-benchmark.yaml b/.woodpecker/test-benchmark.yaml new file mode 100644 index 00000000000..680a3859ecd --- /dev/null +++ b/.woodpecker/test-benchmark.yaml @@ -0,0 +1,20 @@ +--- +depends_on: [ build ] + +variables: + - &golang_image 'docker.io/golang:1.24' + +when: + - event: [ push , manual ] + branch: ${CI_REPO_DEFAULT_BRANCH} + - event: [ pull_request ] + +workspace: + base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace + +steps: + test-benchmark: + image: *golang_image + depends_on: [] + commands: + - make test-benchmark diff --git a/.woodpecker/test-integration.yaml b/.woodpecker/test-integration.yaml new file mode 100644 index 00000000000..18387f0955f --- /dev/null +++ b/.woodpecker/test-integration.yaml @@ -0,0 +1,19 @@ +--- +depends_on: [ build ] + +variables: + - &golang_image 'docker.io/golang:1.24' + +when: + - event: [ push , manual ] + branch: ${CI_REPO_DEFAULT_BRANCH} + - event: [ pull_request ] + +workspace: + base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace + +steps: + test-integration: + image: *golang_image + commands: + - make test-integration diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml new file mode 100644 index 00000000000..79477a81db7 --- /dev/null +++ b/.woodpecker/test.yaml @@ -0,0 +1,21 @@ +--- +depends_on: [ build ] + +variables: + - &golang_image 'docker.io/golang:1.24' + +when: + - event: [ push , manual ] + branch: ${CI_REPO_DEFAULT_BRANCH} + - event: [ pull_request ] + +workspace: + base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace + +steps: + test: + image: *golang_image + depends_on: [] + commands: + - apt-get update -qq && apt-get install -y inotify-tools + - make test From ec053585f9df11f89f0e0e271237a94cfe610068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 13 Mar 2025 17:11:07 +0100 Subject: [PATCH 4/8] use proxy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .woodpecker/build.yaml | 24 ++++++++---------------- .woodpecker/test-benchmark.yaml | 8 +++++--- .woodpecker/test-integration.yaml | 7 +++++-- .woodpecker/test.yaml | 8 +++++--- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index e1ec070ad77..8eeb2dba3db 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -1,6 +1,11 @@ --- variables: - &golang_image 'docker.io/golang:1.24' + - &environment + HTTP_PROXY: + from_secret: ci_http_proxy + HTTPS_PROXY: + from_secret: ci_http_proxy when: - event: [ push , manual ] @@ -13,33 +18,20 @@ workspace: steps: generate: image: *golang_image + environment: *environment commands: - make go-generate - git diff --exit-code lint: image: *golang_image + environment: *environment commands: - make lint build: image: *golang_image + environment: *environment commands: - make build-ci - #test: - # image: *golang_image - # depends_on: [ build ] - # commands: - # - apt-get update -qq && apt-get install -y inotify-tools - # - make test - #test-integration: - # image: *golang_image - # depends_on: [ build ] - # commands: - # - cd tests/integration && go test -race ./... - #test-benchmark: - # image: *golang_image - # depends_on: [ build ] - # commands: - # - make test-benchmark upload: image: minio/mc:RELEASE.2021-10-07T04-19-58Z depends_on: [ build ] diff --git a/.woodpecker/test-benchmark.yaml b/.woodpecker/test-benchmark.yaml index 680a3859ecd..96d65ce01f5 100644 --- a/.woodpecker/test-benchmark.yaml +++ b/.woodpecker/test-benchmark.yaml @@ -1,6 +1,4 @@ --- -depends_on: [ build ] - variables: - &golang_image 'docker.io/golang:1.24' @@ -15,6 +13,10 @@ workspace: steps: test-benchmark: image: *golang_image - depends_on: [] + environment: + HTTP_PROXY: + from_secret: ci_http_proxy + HTTPS_PROXY: + from_secret: ci_http_proxy commands: - make test-benchmark diff --git a/.woodpecker/test-integration.yaml b/.woodpecker/test-integration.yaml index 18387f0955f..0ccb8c5ac75 100644 --- a/.woodpecker/test-integration.yaml +++ b/.woodpecker/test-integration.yaml @@ -1,6 +1,4 @@ --- -depends_on: [ build ] - variables: - &golang_image 'docker.io/golang:1.24' @@ -15,5 +13,10 @@ workspace: steps: test-integration: image: *golang_image + environment: + HTTP_PROXY: + from_secret: ci_http_proxy + HTTPS_PROXY: + from_secret: ci_http_proxy commands: - make test-integration diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 79477a81db7..d3c2f2f5eed 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -1,6 +1,4 @@ --- -depends_on: [ build ] - variables: - &golang_image 'docker.io/golang:1.24' @@ -15,7 +13,11 @@ workspace: steps: test: image: *golang_image - depends_on: [] + environment: + HTTP_PROXY: + from_secret: ci_http_proxy + HTTPS_PROXY: + from_secret: ci_http_proxy commands: - apt-get update -qq && apt-get install -y inotify-tools - make test From 35c447834ee5f0dc6b11a6bf47107466d9c375d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Fri, 14 Mar 2025 09:47:01 +0100 Subject: [PATCH 5/8] do not rebuild binary for integration tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .woodpecker/test-integration.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.woodpecker/test-integration.yaml b/.woodpecker/test-integration.yaml index 0ccb8c5ac75..866d5903fe4 100644 --- a/.woodpecker/test-integration.yaml +++ b/.woodpecker/test-integration.yaml @@ -19,4 +19,5 @@ steps: HTTPS_PROXY: from_secret: ci_http_proxy commands: - - make test-integration + #- make test-integration rebuilds the binaries, which is unnecessary in the pipeline + - cd tests/integration && go test -race ./... From 5aa6bc61cd844ec425105d657dd02391d63fa903 Mon Sep 17 00:00:00 2001 From: amrita-shrestha Date: Tue, 25 Mar 2025 14:30:25 +0545 Subject: [PATCH 6/8] handle cache --- .woodpecker/build.yaml | 1 + .woodpecker/test-integration.yaml | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 8eeb2dba3db..fcf215fd822 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -47,3 +47,4 @@ steps: commands: - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY - mc cp -a --attr="content-type=application/octet-stream" $CI_WORKSPACE/cmd/revad/revad s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad + - mc ls --recursive s3/$S3_BUCKET/opencloud-eu/reva \ No newline at end of file diff --git a/.woodpecker/test-integration.yaml b/.woodpecker/test-integration.yaml index 866d5903fe4..40843452049 100644 --- a/.woodpecker/test-integration.yaml +++ b/.woodpecker/test-integration.yaml @@ -1,4 +1,6 @@ --- +depends_on: [ build ] + variables: - &golang_image 'docker.io/golang:1.24' @@ -11,6 +13,20 @@ workspace: base: /go # use the go home dir as workspace to share go packages, see https://woodpecker-ci.org/docs/usage/workflow-syntax#workspace steps: + fetch-binary: + image: minio/mc:RELEASE.2021-10-07T04-19-58Z + environment: + AWS_ACCESS_KEY_ID: + from_secret: cache_s3_access_key + AWS_SECRET_ACCESS_KEY: + from_secret: cache_s3_secret_key + S3_BUCKET: + from_secret: cache_s3_bucket + S3_ENDPOINT: + from_secret: cache_s3_server + commands: + - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + - mc cp -a s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad $CI_WORKSPACE/cmd/revad/revad test-integration: image: *golang_image environment: @@ -20,4 +36,4 @@ steps: from_secret: ci_http_proxy commands: #- make test-integration rebuilds the binaries, which is unnecessary in the pipeline - - cd tests/integration && go test -race ./... + - cd tests/integration && go test -race ./... \ No newline at end of file From 134c20940ad188141a773a93d6c962187dbe4264 Mon Sep 17 00:00:00 2001 From: amrita-shrestha Date: Tue, 25 Mar 2025 14:43:43 +0545 Subject: [PATCH 7/8] delete old cache --- .woodpecker/build.yaml | 3 +-- .woodpecker/purge-cache.yaml | 29 +++++++++++++++++++++++++++++ .woodpecker/test.yaml | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 .woodpecker/purge-cache.yaml diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index fcf215fd822..e03f7a6c040 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -46,5 +46,4 @@ steps: from_secret: cache_s3_server commands: - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY - - mc cp -a --attr="content-type=application/octet-stream" $CI_WORKSPACE/cmd/revad/revad s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad - - mc ls --recursive s3/$S3_BUCKET/opencloud-eu/reva \ No newline at end of file + - mc cp -a --attr="content-type=application/octet-stream" $CI_WORKSPACE/cmd/revad/revad s3/$S3_BUCKET/opencloud-eu/reva/$CI_COMMIT_SHA-$CI_PIPELINE_NUMBER-revad \ No newline at end of file diff --git a/.woodpecker/purge-cache.yaml b/.woodpecker/purge-cache.yaml new file mode 100644 index 00000000000..692e1691122 --- /dev/null +++ b/.woodpecker/purge-cache.yaml @@ -0,0 +1,29 @@ +--- +depends_on: [test, test-integration] + +variables: + - &minio_image 'minio/mc:RELEASE.2021-10-07T04-19-58Z' + - &s3_plugin_image 'plugins/s3-cache:1' + +when: + - event: [ push , manual ] + branch: ${CI_REPO_DEFAULT_BRANCH} + - event: [ pull_request ] + +skip_clone: true +steps: + purge: + image: *minio_image + environment: + AWS_ACCESS_KEY_ID: + from_secret: cache_s3_access_key + AWS_SECRET_ACCESS_KEY: + from_secret: cache_s3_secret_key + S3_BUCKET: + from_secret: cache_s3_bucket + S3_ENDPOINT: + from_secret: cache_s3_server + commands: + - mc alias set s3 $S3_ENDPOINT $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + - mc rm --recursive --force s3/$S3_BUCKET/opencloud-eu/reva + - mc ls --recursive s3/$S3_BUCKET/opencloud-eu/reva \ No newline at end of file diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index d3c2f2f5eed..e37e9a97e53 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -19,5 +19,5 @@ steps: HTTPS_PROXY: from_secret: ci_http_proxy commands: - - apt-get update -qq && apt-get install -y inotify-tools + - apt-get update -qq && apt-get install -y inotify-tools - make test From bdf035d6b3e95a1361528f76c43febe911a940ee Mon Sep 17 00:00:00 2001 From: Amrita <54478846+amrita-shrestha@users.noreply.github.com> Date: Tue, 25 Mar 2025 16:45:59 +0545 Subject: [PATCH 8/8] Update .woodpecker/test-integration.yaml Co-authored-by: Artur Neumann --- .woodpecker/test-integration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/test-integration.yaml b/.woodpecker/test-integration.yaml index 40843452049..55da3bb47b1 100644 --- a/.woodpecker/test-integration.yaml +++ b/.woodpecker/test-integration.yaml @@ -35,5 +35,5 @@ steps: HTTPS_PROXY: from_secret: ci_http_proxy commands: - #- make test-integration rebuilds the binaries, which is unnecessary in the pipeline + # `make test-integration` rebuilds the binaries, which is unnecessary in the pipeline, so only using `go test` here - cd tests/integration && go test -race ./... \ No newline at end of file