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
44 changes: 22 additions & 22 deletions .woodpecker/build.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
variables:
- &squish_image 'opencloudeu/squish@sha256:6eaecc218044020f49f24fd29b6bdc052e8170699a762687b10398b353e5fcda'
- &minio_image 'minio/mc:RELEASE.2021-10-07T04-19-58Z'
Expand All @@ -9,7 +8,25 @@ variables:
from_secret: cache_s3_secret_key
CACHE_BUCKET:
from_secret: cache_s3_bucket
MC_HOST: "https://s3.ci.opencloud.eu"
MC_HOST: 'https://s3.ci.opencloud.eu'

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: tag
- event: cron
cron: nightly*

workspace:
base: /woodpecker/
path: desktop

steps:
- name: fix-permissions
Expand All @@ -24,27 +41,10 @@ steps:
- cmake %s -S .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
- ninja
- name: upload-desktop-client-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc cp -a -r /woodpecker/desktop/build/bin s3/$CACHE_BUCKET/desktop-build/${CI_COMMIT_SHA}/
- mc ls --recursive s3/$CACHE_BUCKET/desktop-build
environment:
<<: *minio_environment
image: *minio_image

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: tag
- event: cron
cron: nightly*
workspace:
base: /woodpecker/
path: desktop
73 changes: 39 additions & 34 deletions .woodpecker/cache-opencloud.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
variables:
- &minio_image 'minio/mc:RELEASE.2021-10-07T04-19-58Z'
- &minio_environment
Expand All @@ -8,63 +7,69 @@ variables:
from_secret: cache_s3_secret_key
CACHE_BUCKET:
from_secret: cache_s3_bucket
MC_HOST: "https://s3.ci.opencloud.eu"
MC_HOST: 'https://s3.ci.opencloud.eu'

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: tag
- event: cron
cron: nightly*

skip_clone: true

steps:
- commands:
- name: check-for-existing-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- curl -o .woodpecker.env https://raw.githubusercontent.com/opencloud-eu/desktop/$CI_COMMIT_SHA/.woodpecker.env
- curl -o script.sh https://raw.githubusercontent.com/opencloud-eu/desktop/$CI_COMMIT_SHA/test/gui/woodpecker/script.sh
- . ./.woodpecker.env
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc ls --recursive s3/$CACHE_BUCKET/opencloud-build
- bash script.sh check_opencloud_cache
environment:
<<: *minio_environment
image: *minio_image
name: check-for-existing-cache
- commands:

- name: clone-opencloud
image: docker.io/golang:1.24
commands:
- . ./.woodpecker.env
- if $OPENCLOUD_CACHE_FOUND; then exit 0; fi
- git clone -b $OPENCLOUD_BRANCH --single-branch https://github.com/opencloud-eu/opencloud.git repo_opencloud
- cd repo_opencloud
- git checkout $OPENCLOUD_COMMITID
image: docker.io/golang:1.24
name: clone-opencloud
- commands:

- name: generate-opencloud
image: owncloudci/nodejs:20
commands:
- . ./.woodpecker.env
- if $OPENCLOUD_CACHE_FOUND; then exit 0; fi
- cd repo_opencloud
- for i in $(seq 3); do make node-generate-prod && break || sleep 1; done
image: owncloudci/nodejs:20
name: generate-opencloud
- commands:

- name: build-opencloud
image: docker.io/golang:1.24
commands:
- . ./.woodpecker.env
- if $OPENCLOUD_CACHE_FOUND; then exit 0; fi
- cd repo_opencloud
- for i in $(seq 3); do make -C opencloud build && break || sleep 1; done
image: docker.io/golang:1.24
name: build-opencloud
- commands:

- name: upload-opencloud-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- . ./.woodpecker.env
- if $OPENCLOUD_CACHE_FOUND; then exit 0; fi
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc cp -a repo_opencloud/opencloud/bin/opencloud s3/$CACHE_BUCKET/opencloud-build/$OPENCLOUD_COMMITID/
- mc ls --recursive s3/$CACHE_BUCKET/opencloud-build
environment:
<<: *minio_environment
image: *minio_image
name: upload-opencloud-cache
when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: tag
- event: cron
cron: nightly*
72 changes: 38 additions & 34 deletions .woodpecker/cache-pnpm.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
variables:
- &minio_image 'minio/mc:RELEASE.2021-10-07T04-19-58Z'
- &minio_environment
Expand All @@ -8,61 +7,66 @@ variables:
from_secret: cache_s3_secret_key
CACHE_BUCKET:
from_secret: cache_s3_bucket
MC_HOST: "https://s3.ci.opencloud.eu"
MC_HOST: 'https://s3.ci.opencloud.eu'

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: tag
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: cron
cron: nightly*

workspace:
base: /woodpecker/
path: desktop

steps:
- commands:
- name: check-browsers-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc ls --recursive s3/$CACHE_BUCKET/web
- bash test/gui/woodpecker/script.sh check_browsers_cache
environment:
<<: *minio_environment
image: *minio_image
name: check-browsers-cache
- commands:

- name: pnpm-install
image: owncloudci/nodejs:20
commands:
- . ./.woodpecker.env
- if $BROWSER_CACHE_FOUND; then exit 0; fi
- cd test/gui/
- npm i -s -g -f "$(jq -r ".packageManager" < webUI/package.json)"
- pnpm config set store-dir ./.pnpm-store
- make pnpm-install

- name: install-browsers
image: owncloudci/nodejs:20
name: pnpm-install
- commands:
environment:
PLAYWRIGHT_BROWSERS_PATH: .playwright
commands:
- . ./.woodpecker.env
- if $BROWSER_CACHE_FOUND; then exit 0; fi
- cd test/gui/
- make pnpm-install-chromium
- cd webUI
- tar -czvf /woodpecker/desktop/playwright-browsers.tar.gz .playwright

- name: upload-browsers-cache
image: *minio_image
environment:
PLAYWRIGHT_BROWSERS_PATH: .playwright
image: owncloudci/nodejs:20
name: install-browsers
- commands:
<<: *minio_environment
commands:
- . ./.woodpecker.env
- if $BROWSER_CACHE_FOUND; then exit 0; fi
- playwright_version=$(bash test/gui/woodpecker/script.sh get_playwright_version)
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc cp -r -a /woodpecker/desktop/playwright-browsers.tar.gz s3/$CACHE_BUCKET/web/browsers-cache/$playwright_version/
- mc ls --recursive s3/$CACHE_BUCKET/web
environment:
<<: *minio_environment
image: *minio_image
name: upload-browsers-cache
when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: tag
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: cron
cron: nightly*
workspace:
base: /woodpecker/
path: desktop
58 changes: 30 additions & 28 deletions .woodpecker/cache-python.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
---
variables:
- &squish_image 'opencloudeu/squish@sha256:6eaecc218044020f49f24fd29b6bdc052e8170699a762687b10398b353e5fcda'
- &minio_image 'minio/mc:RELEASE.2021-10-07T04-19-58Z'
Expand All @@ -9,52 +8,55 @@ variables:
from_secret: cache_s3_secret_key
CACHE_BUCKET:
from_secret: cache_s3_bucket
MC_HOST: "https://s3.ci.opencloud.eu"
MC_HOST: 'https://s3.ci.opencloud.eu'

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: tag
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: cron
cron: nightly*

workspace:
base: /woodpecker/
path: desktop

steps:
- name: check-python-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc ls s3/$CACHE_BUCKET/desktop-build
- bash test/gui/woodpecker/script.sh check_python_cache
environment:
<<: *minio_environment
image: *minio_image

- name: install-python-modules
image: *squish_image
environment:
PYTHONUSERBASE: /woodpecker/desktop
commands:
- . ./.woodpecker.env
- if $PYTHON_CACHE_FOUND; then exit 0; fi
- make -C test/gui/ pip-install
- python3.10 -m pip list -v
- requirements_sha=$(sha1sum test/gui/requirements.txt | cut -d" " -f1)
- tar -czvf /woodpecker/desktop/python-cache-$requirements_sha.tar.gz lib/python3.10/site-packages
image: *squish_image
environment:
PYTHONUSERBASE: /woodpecker/desktop

- name: upload-python-cache
image: *minio_image
environment:
<<: *minio_environment
commands:
- . ./.woodpecker.env
- if $PYTHON_CACHE_FOUND; then exit 0; fi
- mc alias set s3 $MC_HOST $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY
- mc cp -r -a /woodpecker/desktop/python-cache*.tar.gz s3/$CACHE_BUCKET/desktop-build/
- mc ls s3/$CACHE_BUCKET/desktop-build
environment:
<<: *minio_environment
image: *minio_image

when:
- branch:
- main
- stable-*
event:
- push
- manual
- event: tag
- event: pull_request
evaluate: |
!(CI_COMMIT_SOURCE_BRANCH matches "next-release/(main|stable-*)" && CI_COMMIT_AUTHOR == "openclouders")
- event: cron
cron: nightly*
workspace:
base: /woodpecker/
path: desktop
14 changes: 10 additions & 4 deletions .woodpecker/notification.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,21 @@ variables:
- &ci_woodpecker_url
from_secret: oc_ci_url

depends_on: [build, ui-tests]
runs_on: [ success, failure ]
when:
- event: [ push , manual ]
- event: [push, manual]
branch: ${CI_REPO_DEFAULT_BRANCH}
- event: pull_request
- event: cron
cron: nightly*

depends_on:
- build
- ui-tests

runs_on:
- success
- failure

skip_clone: true

steps:
Expand All @@ -36,7 +43,6 @@ steps:
CI_WOODPECKER_URL: *ci_woodpecker_url
CI_REPO_ID: *current_repo_id
CI_WOODPECKER_TOKEN: no-auth-needed-on-this-repo

commands:
- git clone --single-branch --branch $QA_REPO_BRANCH $QA_REPO /tmp/qa
- cd /tmp/qa/scripts/matrix-notification/
Expand Down
Loading