Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 21 additions & 25 deletions .woodpecker/build.yaml
Original file line number Diff line number Diff line change
@@ -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 ]
Expand All @@ -11,43 +16,34 @@ 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
environment: *environment
commands:
- make go-generate
- git diff --exit-code
lint:
image: *golang_image
depends_on: [ generate ]
environment: *environment
commands:
- make lint
build:
image: *golang_image
depends_on: [ generate ]
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:
- make test-integration
test-benchmark:
image: *golang_image
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:
- make test-benchmark
- 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
39 changes: 26 additions & 13 deletions .woodpecker/cs3api-validator-decomposed.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
depends_on: [ build ]

variables:
- &golang_image 'docker.io/golang:1.24'
- &cs3apivalidator_image 'owncloud/cs3api-validator:0.2.1'
Expand All @@ -12,22 +14,24 @@ 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 ]
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:
- /usr/bin/cs3api-validator /var/lib/cs3api-validator --endpoint=revad-services:19000

services:
- 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:
- 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 &
Expand All @@ -36,4 +40,13 @@ services:
- ../../../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
- ../../../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
38 changes: 0 additions & 38 deletions .woodpecker/cs3api-validator-posix.yaml

This file was deleted.

29 changes: 29 additions & 0 deletions .woodpecker/purge-cache.yaml
Original file line number Diff line number Diff line change
@@ -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
22 changes: 22 additions & 0 deletions .woodpecker/test-benchmark.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
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
environment:
HTTP_PROXY:
from_secret: ci_http_proxy
HTTPS_PROXY:
from_secret: ci_http_proxy
commands:
- make test-benchmark
39 changes: 39 additions & 0 deletions .woodpecker/test-integration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
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:
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:
HTTP_PROXY:
from_secret: ci_http_proxy
HTTPS_PROXY:
from_secret: ci_http_proxy
commands:
# `make test-integration` rebuilds the binaries, which is unnecessary in the pipeline, so only using `go test` here
- cd tests/integration && go test -race ./...
23 changes: 23 additions & 0 deletions .woodpecker/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
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
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