@@ -15,16 +15,16 @@ OPEN_SEARCH = "opensearchproject/opensearch:2"
1515INBUCKET_INBUCKET = "inbucket/inbucket"
1616MINIO_MC = "minio/mc:RELEASE.2021-10-07T04-19-58Z"
1717OC_CI_ALPINE = "owncloudci/alpine:latest"
18- OC_CI_BAZEL_BUILDIFIER = "owncloudci /bazel-buildifier:latest"
18+ OC_CI_BAZEL_BUILDIFIER = "scharfvi /bazel-buildifier:latest"
1919OC_CI_CLAMAVD = "owncloudci/clamavd"
2020OC_CI_DRONE_ANSIBLE = "owncloudci/drone-ansible:latest"
21- OC_CI_GOLANG = "registry.heinlein.group/opencloud/golang-ci:1.25"
22- OC_CI_NODEJS = "owncloudci/nodejs:%s"
23- OC_CI_PHP = "owncloudci/php:%s"
24- OC_CI_WAIT_FOR = "owncloudci/wait-for:latest"
21+ OC_CI_GOLANG = "quay.io/opencloudeu/golang-ci:1.25"
22+ OC_CI_NODEJS = "scharfvi/nodeci:24"
23+ OC_CI_NODEJS_ALPINE = "scharfvi/nodeci-alpine:24"
24+ OC_CI_PHP = "scharfvi/php-ci:%s"
25+ OC_CI_WAIT_FOR = "scharfvi/wait-for:latest"
2526OC_CS3_API_VALIDATOR = "opencloudeu/cs3api-validator:latest"
2627OC_LITMUS = "owncloudci/litmus:latest"
27- OC_UBUNTU = "owncloud/ubuntu:20.04"
2828ONLYOFFICE_DOCUMENT_SERVER = "onlyoffice/documentserver:7.5.1"
2929PLUGINS_DOCKER_BUILDX = "woodpeckerci/plugin-docker-buildx:latest"
3030PLUGINS_NOTATION = "registry.heinlein.group/opencloud/notation-wp-plugin:latest"
@@ -37,8 +37,7 @@ REDIS = "redis:6-alpine"
3737READY_RELEASE_GO = "woodpeckerci/plugin-ready-release-go:latest"
3838OPENLDAP = "bitnamilegacy/openldap:2.6"
3939
40- DEFAULT_PHP_VERSION = "8.2"
41- DEFAULT_NODEJS_VERSION = "20"
40+ DEFAULT_PHP_VERSION = "8.4"
4241
4342CACHE_S3_SERVER = "https://s3.ci.opencloud.eu"
4443
@@ -671,7 +670,7 @@ def cacheGoBin():
671670 },
672671 {
673672 "name" : "archive-go-bin" ,
674- "image" : OC_UBUNTU ,
673+ "image" : OC_CI_NODEJS ,
675674 "commands" : [
676675 ". ./.env" ,
677676 "if $BIN_CACHE_FOUND; then exit 0; fi" ,
@@ -709,7 +708,7 @@ def restoreGoBinCache():
709708 },
710709 {
711710 "name" : "extract-go-bin-cache" ,
712- "image" : OC_UBUNTU ,
711+ "image" : OC_CI_NODEJS ,
713712 "commands" : [
714713 "tar -xvmf %s -C /" % dirs ["gobinTarPath" ],
715714 ],
@@ -903,7 +902,7 @@ def checkGherkinLint(ctx):
903902 "steps" : [
904903 {
905904 "name" : "lint-feature-files" ,
906- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
905+ "image" : OC_CI_NODEJS_ALPINE ,
907906 "commands" : [
908907 "npm install -g @gherlint/gherlint@1.1.0" ,
909908 "make test-gherkin-lint" ,
@@ -1408,7 +1407,7 @@ def e2eTestPipeline(ctx, watch_fs_enabled = False):
14081407
14091408 step_e2e = {
14101409 "name" : "e2e-tests" ,
1411- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
1410+ "image" : OC_CI_NODEJS ,
14121411 "environment" : {
14131412 "OC_BASE_URL" : OC_DOMAIN ,
14141413 "HEADLESS" : True ,
@@ -1567,7 +1566,7 @@ def multiServiceE2ePipeline(ctx, watch_fs_enabled = False):
15671566 storage_users_services + \
15681567 [{
15691568 "name" : "e2e-tests" ,
1570- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
1569+ "image" : OC_CI_NODEJS ,
15711570 "environment" : {
15721571 "OC_BASE_URL" : OC_DOMAIN ,
15731572 "HEADLESS" : True ,
@@ -1894,14 +1893,14 @@ def licenseCheck(ctx):
18941893 "steps" : restoreGoBinCache () + [
18951894 {
18961895 "name" : "node-check-licenses" ,
1897- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
1896+ "image" : OC_CI_NODEJS_ALPINE ,
18981897 "commands" : [
18991898 "make ci-node-check-licenses" ,
19001899 ],
19011900 },
19021901 {
19031902 "name" : "node-save-licenses" ,
1904- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
1903+ "image" : OC_CI_NODEJS_ALPINE ,
19051904 "commands" : [
19061905 "make ci-node-save-licenses" ,
19071906 ],
@@ -2021,7 +2020,7 @@ def makeNodeGenerate(module):
20212020 return [
20222021 {
20232022 "name" : "generate nodejs" ,
2024- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2023+ "image" : OC_CI_NODEJS ,
20252024 "environment" : {
20262025 "CHROMEDRIVER_SKIP_DOWNLOAD" : True , # install fails on arm and chromedriver is a test only dependency
20272026 },
@@ -2694,7 +2693,7 @@ def litmus(ctx, storage):
26942693def setupForLitmus ():
26952694 return [{
26962695 "name" : "setup-for-litmus" ,
2697- "image" : OC_UBUNTU ,
2696+ "image" : OC_CI_NODEJS ,
26982697 "environment" : {
26992698 "TEST_SERVER_URL" : OC_URL ,
27002699 },
@@ -2709,7 +2708,7 @@ def getWoodpeckerEnvAndCheckScript(ctx):
27092708 path_to_check_script = "%s/tests/config/woodpecker/check_web_cache.sh" % dirs ["base" ]
27102709 return {
27112710 "name" : "get-woodpecker-env-and-check-script" ,
2712- "image" : OC_UBUNTU ,
2711+ "image" : OC_CI_NODEJS ,
27132712 "commands" : [
27142713 "cp %s check_web_cache.sh" % path_to_check_script ,
27152714 ],
@@ -2728,7 +2727,7 @@ def checkForWebCache(name):
27282727def cloneWeb ():
27292728 return {
27302729 "name" : "clone-web" ,
2731- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2730+ "image" : OC_CI_NODEJS_ALPINE ,
27322731 "commands" : [
27332732 ". ./.woodpecker.env" ,
27342733 "if $WEB_CACHE_FOUND; then exit 0; fi" ,
@@ -2745,7 +2744,7 @@ def generateWebPnpmCache(ctx):
27452744 cloneWeb (),
27462745 {
27472746 "name" : "install-pnpm" ,
2748- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2747+ "image" : OC_CI_NODEJS ,
27492748 "commands" : [
27502749 ". ./.woodpecker.env" ,
27512750 "if $WEB_CACHE_FOUND; then exit 0; fi" ,
@@ -2757,7 +2756,7 @@ def generateWebPnpmCache(ctx):
27572756 },
27582757 {
27592758 "name" : "zip-pnpm" ,
2760- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2759+ "image" : OC_CI_NODEJS ,
27612760 "commands" : [
27622761 ". ./.woodpecker.env" ,
27632762 "if $WEB_CACHE_FOUND; then exit 0; fi" ,
@@ -2819,15 +2818,15 @@ def cacheBrowsers(ctx):
28192818 browser_cache_steps = [
28202819 {
28212820 "name" : "install-browsers" ,
2822- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2821+ "image" : OC_CI_NODEJS ,
28232822 "environment" : {
28242823 "PLAYWRIGHT_BROWSERS_PATH" : ".playwright" ,
28252824 },
28262825 "commands" : [
28272826 "cd %s" % dirs ["web" ],
28282827 ". ./.woodpecker.env" ,
28292828 "if $BROWSER_CACHE_FOUND; then exit 0; fi" ,
2830- "pnpm exec playwright install --with-deps " ,
2829+ "pnpm exec playwright install" ,
28312830 "pnpm exec playwright install --list" ,
28322831 "tar -czf %s .playwright" % dirs ["playwrightBrowsersArchive" ],
28332832 ],
@@ -2862,7 +2861,7 @@ def generateWebCache(ctx):
28622861 cloneWeb (),
28632862 {
28642863 "name" : "zip-web" ,
2865- "image" : OC_UBUNTU ,
2864+ "image" : OC_CI_NODEJS ,
28662865 "commands" : [
28672866 ". ./.woodpecker.env" ,
28682867 "if $WEB_CACHE_FOUND; then exit 0; fi" ,
@@ -2898,7 +2897,7 @@ def restoreWebCache():
28982897 ],
28992898 }, {
29002899 "name" : "unzip-web-cache" ,
2901- "image" : OC_UBUNTU ,
2900+ "image" : OC_CI_NODEJS ,
29022901 "commands" : [
29032902 "tar -xf %s -C ." % dirs ["webZip" ],
29042903 ],
@@ -2917,7 +2916,7 @@ def restoreWebPnpmCache(extra_commands = []):
29172916 }, {
29182917 # we need to install again because the node_modules are not cached
29192918 "name" : "unzip-and-install-pnpm" ,
2920- "image" : OC_CI_NODEJS % DEFAULT_NODEJS_VERSION ,
2919+ "image" : OC_CI_NODEJS ,
29212920 "commands" : extra_commands + [
29222921 "cd %s" % dirs ["web" ],
29232922 "rm -rf .pnpm-store" ,
@@ -2943,7 +2942,7 @@ def restoreBrowsersCache():
29432942 },
29442943 {
29452944 "name" : "unzip-browsers-cache" ,
2946- "image" : OC_UBUNTU ,
2945+ "image" : OC_CI_NODEJS ,
29472946 "commands" : [
29482947 "tar -xf /woodpecker/src/github.com/%s/webTestRunner/playwright-browsers.tar.gz -C ." % repo_slug ,
29492948 ],
@@ -2961,7 +2960,7 @@ def waitForEmailService():
29612960 "name" : "wait-for-email" ,
29622961 "image" : OC_CI_WAIT_FOR ,
29632962 "commands" : [
2964- "wait-for -it email: 9000 -t 600" ,
2963+ "wait-for -host email -port 9000 -timeout 600" ,
29652964 ],
29662965 }]
29672966
@@ -2976,7 +2975,7 @@ def waitForClamavService():
29762975 "name" : "wait-for-clamav" ,
29772976 "image" : OC_CI_WAIT_FOR ,
29782977 "commands" : [
2979- "wait-for -it clamav: 3310 -t 600" ,
2978+ "wait-for -host clamav -port 3310 -timeout 600" ,
29802979 ],
29812980 }]
29822981
@@ -3019,7 +3018,7 @@ def waitForLdapService():
30193018 "name" : "wait-for-ldap" ,
30203019 "image" : OC_CI_WAIT_FOR ,
30213020 "commands" : [
3022- "wait-for -it ldap-server: 1636 -t 600" ,
3021+ "wait-for -host ldap-server -port 1636 -timeout 600" ,
30233022 ],
30243023 }]
30253024
@@ -3082,7 +3081,7 @@ def tikaService():
30823081 "name" : "wait-for-tika-service" ,
30833082 "image" : OC_CI_WAIT_FOR ,
30843083 "commands" : [
3085- "wait-for -it tika: 9998 -t 300" ,
3084+ "wait-for -host tika -port 9998 -timeout 300" ,
30863085 ],
30873086 }]
30883087
@@ -3192,13 +3191,18 @@ def k6LoadTests(ctx):
31923191 }]
31933192
31943193def waitForServices (name , services = []):
3195- services = "," .join (services )
3194+ commands = []
3195+
3196+ for service in services :
3197+ host , port = service .split (":" , 1 )
3198+ commands .append (
3199+ "wait-for -host %s -port %s -timeout 300" % (host , port ),
3200+ )
3201+
31963202 return [{
31973203 "name" : "wait-for-%s" % name ,
31983204 "image" : OC_CI_WAIT_FOR ,
3199- "commands" : [
3200- "wait-for -it %s -t 300" % services ,
3201- ],
3205+ "commands" : commands ,
32023206 }]
32033207
32043208def openCloudHealthCheck (name , services = []):
0 commit comments