Compare commits

...

1 Commits

Author SHA1 Message Date
Viktor Scharf
6589b4a1fe replace CI images 2025-12-24 11:24:55 +01:00

View File

@@ -15,16 +15,16 @@ OPEN_SEARCH = "opensearchproject/opensearch:2"
INBUCKET_INBUCKET = "inbucket/inbucket" INBUCKET_INBUCKET = "inbucket/inbucket"
MINIO_MC = "minio/mc:RELEASE.2021-10-07T04-19-58Z" MINIO_MC = "minio/mc:RELEASE.2021-10-07T04-19-58Z"
OC_CI_ALPINE = "owncloudci/alpine:latest" OC_CI_ALPINE = "owncloudci/alpine:latest"
OC_CI_BAZEL_BUILDIFIER = "owncloudci/bazel-buildifier:latest" OC_CI_BAZEL_BUILDIFIER = "scharfvi/bazel-buildifier:latest"
OC_CI_CLAMAVD = "owncloudci/clamavd" OC_CI_CLAMAVD = "owncloudci/clamavd"
OC_CI_DRONE_ANSIBLE = "owncloudci/drone-ansible:latest" OC_CI_DRONE_ANSIBLE = "owncloudci/drone-ansible:latest"
OC_CI_GOLANG = "registry.heinlein.group/opencloud/golang-ci:1.25" OC_CI_GOLANG = "quay.io/opencloudeu/golang-ci:1.25"
OC_CI_NODEJS = "owncloudci/nodejs:%s" OC_CI_NODEJS = "scharfvi/nodeci:24"
OC_CI_PHP = "owncloudci/php:%s" OC_CI_NODEJS_ALPINE = "scharfvi/nodeci-alpine:24"
OC_CI_WAIT_FOR = "owncloudci/wait-for:latest" OC_CI_PHP = "scharfvi/php-ci:%s"
OC_CI_WAIT_FOR = "scharfvi/wait-for:latest"
OC_CS3_API_VALIDATOR = "opencloudeu/cs3api-validator:latest" OC_CS3_API_VALIDATOR = "opencloudeu/cs3api-validator:latest"
OC_LITMUS = "owncloudci/litmus:latest" OC_LITMUS = "owncloudci/litmus:latest"
OC_UBUNTU = "owncloud/ubuntu:20.04"
ONLYOFFICE_DOCUMENT_SERVER = "onlyoffice/documentserver:7.5.1" ONLYOFFICE_DOCUMENT_SERVER = "onlyoffice/documentserver:7.5.1"
PLUGINS_DOCKER_BUILDX = "woodpeckerci/plugin-docker-buildx:latest" PLUGINS_DOCKER_BUILDX = "woodpeckerci/plugin-docker-buildx:latest"
PLUGINS_NOTATION = "registry.heinlein.group/opencloud/notation-wp-plugin:latest" PLUGINS_NOTATION = "registry.heinlein.group/opencloud/notation-wp-plugin:latest"
@@ -37,8 +37,7 @@ REDIS = "redis:6-alpine"
READY_RELEASE_GO = "woodpeckerci/plugin-ready-release-go:latest" READY_RELEASE_GO = "woodpeckerci/plugin-ready-release-go:latest"
OPENLDAP = "bitnamilegacy/openldap:2.6" OPENLDAP = "bitnamilegacy/openldap:2.6"
DEFAULT_PHP_VERSION = "8.2" DEFAULT_PHP_VERSION = "8.4"
DEFAULT_NODEJS_VERSION = "20"
CACHE_S3_SERVER = "https://s3.ci.opencloud.eu" CACHE_S3_SERVER = "https://s3.ci.opencloud.eu"
@@ -671,7 +670,7 @@ def cacheGoBin():
}, },
{ {
"name": "archive-go-bin", "name": "archive-go-bin",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
". ./.env", ". ./.env",
"if $BIN_CACHE_FOUND; then exit 0; fi", "if $BIN_CACHE_FOUND; then exit 0; fi",
@@ -709,7 +708,7 @@ def restoreGoBinCache():
}, },
{ {
"name": "extract-go-bin-cache", "name": "extract-go-bin-cache",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
"tar -xvmf %s -C /" % dirs["gobinTarPath"], "tar -xvmf %s -C /" % dirs["gobinTarPath"],
], ],
@@ -903,7 +902,7 @@ def checkGherkinLint(ctx):
"steps": [ "steps": [
{ {
"name": "lint-feature-files", "name": "lint-feature-files",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS_ALPINE,
"commands": [ "commands": [
"npm install -g @gherlint/gherlint@1.1.0", "npm install -g @gherlint/gherlint@1.1.0",
"make test-gherkin-lint", "make test-gherkin-lint",
@@ -1408,7 +1407,7 @@ def e2eTestPipeline(ctx, watch_fs_enabled = False):
step_e2e = { step_e2e = {
"name": "e2e-tests", "name": "e2e-tests",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"environment": { "environment": {
"OC_BASE_URL": OC_DOMAIN, "OC_BASE_URL": OC_DOMAIN,
"HEADLESS": True, "HEADLESS": True,
@@ -1567,7 +1566,7 @@ def multiServiceE2ePipeline(ctx, watch_fs_enabled = False):
storage_users_services + \ storage_users_services + \
[{ [{
"name": "e2e-tests", "name": "e2e-tests",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"environment": { "environment": {
"OC_BASE_URL": OC_DOMAIN, "OC_BASE_URL": OC_DOMAIN,
"HEADLESS": True, "HEADLESS": True,
@@ -1894,14 +1893,14 @@ def licenseCheck(ctx):
"steps": restoreGoBinCache() + [ "steps": restoreGoBinCache() + [
{ {
"name": "node-check-licenses", "name": "node-check-licenses",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS_ALPINE,
"commands": [ "commands": [
"make ci-node-check-licenses", "make ci-node-check-licenses",
], ],
}, },
{ {
"name": "node-save-licenses", "name": "node-save-licenses",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS_ALPINE,
"commands": [ "commands": [
"make ci-node-save-licenses", "make ci-node-save-licenses",
], ],
@@ -2021,7 +2020,7 @@ def makeNodeGenerate(module):
return [ return [
{ {
"name": "generate nodejs", "name": "generate nodejs",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"environment": { "environment": {
"CHROMEDRIVER_SKIP_DOWNLOAD": True, # install fails on arm and chromedriver is a test only dependency "CHROMEDRIVER_SKIP_DOWNLOAD": True, # install fails on arm and chromedriver is a test only dependency
}, },
@@ -2694,7 +2693,7 @@ def litmus(ctx, storage):
def setupForLitmus(): def setupForLitmus():
return [{ return [{
"name": "setup-for-litmus", "name": "setup-for-litmus",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"environment": { "environment": {
"TEST_SERVER_URL": OC_URL, "TEST_SERVER_URL": OC_URL,
}, },
@@ -2709,7 +2708,7 @@ def getWoodpeckerEnvAndCheckScript(ctx):
path_to_check_script = "%s/tests/config/woodpecker/check_web_cache.sh" % dirs["base"] path_to_check_script = "%s/tests/config/woodpecker/check_web_cache.sh" % dirs["base"]
return { return {
"name": "get-woodpecker-env-and-check-script", "name": "get-woodpecker-env-and-check-script",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
"cp %s check_web_cache.sh" % path_to_check_script, "cp %s check_web_cache.sh" % path_to_check_script,
], ],
@@ -2728,7 +2727,7 @@ def checkForWebCache(name):
def cloneWeb(): def cloneWeb():
return { return {
"name": "clone-web", "name": "clone-web",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS_ALPINE,
"commands": [ "commands": [
". ./.woodpecker.env", ". ./.woodpecker.env",
"if $WEB_CACHE_FOUND; then exit 0; fi", "if $WEB_CACHE_FOUND; then exit 0; fi",
@@ -2745,7 +2744,7 @@ def generateWebPnpmCache(ctx):
cloneWeb(), cloneWeb(),
{ {
"name": "install-pnpm", "name": "install-pnpm",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"commands": [ "commands": [
". ./.woodpecker.env", ". ./.woodpecker.env",
"if $WEB_CACHE_FOUND; then exit 0; fi", "if $WEB_CACHE_FOUND; then exit 0; fi",
@@ -2757,7 +2756,7 @@ def generateWebPnpmCache(ctx):
}, },
{ {
"name": "zip-pnpm", "name": "zip-pnpm",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"commands": [ "commands": [
". ./.woodpecker.env", ". ./.woodpecker.env",
"if $WEB_CACHE_FOUND; then exit 0; fi", "if $WEB_CACHE_FOUND; then exit 0; fi",
@@ -2819,7 +2818,7 @@ def cacheBrowsers(ctx):
browser_cache_steps = [ browser_cache_steps = [
{ {
"name": "install-browsers", "name": "install-browsers",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"environment": { "environment": {
"PLAYWRIGHT_BROWSERS_PATH": ".playwright", "PLAYWRIGHT_BROWSERS_PATH": ".playwright",
}, },
@@ -2827,7 +2826,7 @@ def cacheBrowsers(ctx):
"cd %s" % dirs["web"], "cd %s" % dirs["web"],
". ./.woodpecker.env", ". ./.woodpecker.env",
"if $BROWSER_CACHE_FOUND; then exit 0; fi", "if $BROWSER_CACHE_FOUND; then exit 0; fi",
"pnpm exec playwright install --with-deps", "pnpm exec playwright install",
"pnpm exec playwright install --list", "pnpm exec playwright install --list",
"tar -czf %s .playwright" % dirs["playwrightBrowsersArchive"], "tar -czf %s .playwright" % dirs["playwrightBrowsersArchive"],
], ],
@@ -2862,7 +2861,7 @@ def generateWebCache(ctx):
cloneWeb(), cloneWeb(),
{ {
"name": "zip-web", "name": "zip-web",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
". ./.woodpecker.env", ". ./.woodpecker.env",
"if $WEB_CACHE_FOUND; then exit 0; fi", "if $WEB_CACHE_FOUND; then exit 0; fi",
@@ -2898,7 +2897,7 @@ def restoreWebCache():
], ],
}, { }, {
"name": "unzip-web-cache", "name": "unzip-web-cache",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
"tar -xf %s -C ." % dirs["webZip"], "tar -xf %s -C ." % dirs["webZip"],
], ],
@@ -2917,7 +2916,7 @@ def restoreWebPnpmCache(extra_commands = []):
}, { }, {
# we need to install again because the node_modules are not cached # we need to install again because the node_modules are not cached
"name": "unzip-and-install-pnpm", "name": "unzip-and-install-pnpm",
"image": OC_CI_NODEJS % DEFAULT_NODEJS_VERSION, "image": OC_CI_NODEJS,
"commands": extra_commands + [ "commands": extra_commands + [
"cd %s" % dirs["web"], "cd %s" % dirs["web"],
"rm -rf .pnpm-store", "rm -rf .pnpm-store",
@@ -2943,7 +2942,7 @@ def restoreBrowsersCache():
}, },
{ {
"name": "unzip-browsers-cache", "name": "unzip-browsers-cache",
"image": OC_UBUNTU, "image": OC_CI_NODEJS,
"commands": [ "commands": [
"tar -xf /woodpecker/src/github.com/%s/webTestRunner/playwright-browsers.tar.gz -C ." % repo_slug, "tar -xf /woodpecker/src/github.com/%s/webTestRunner/playwright-browsers.tar.gz -C ." % repo_slug,
], ],
@@ -2961,7 +2960,7 @@ def waitForEmailService():
"name": "wait-for-email", "name": "wait-for-email",
"image": OC_CI_WAIT_FOR, "image": OC_CI_WAIT_FOR,
"commands": [ "commands": [
"wait-for -it email:9000 -t 600", "wait-for -host email -port 9000 -timeout 600",
], ],
}] }]
@@ -2976,7 +2975,7 @@ def waitForClamavService():
"name": "wait-for-clamav", "name": "wait-for-clamav",
"image": OC_CI_WAIT_FOR, "image": OC_CI_WAIT_FOR,
"commands": [ "commands": [
"wait-for -it clamav:3310 -t 600", "wait-for -host clamav -port 3310 -timeout 600",
], ],
}] }]
@@ -3019,7 +3018,7 @@ def waitForLdapService():
"name": "wait-for-ldap", "name": "wait-for-ldap",
"image": OC_CI_WAIT_FOR, "image": OC_CI_WAIT_FOR,
"commands": [ "commands": [
"wait-for -it ldap-server:1636 -t 600", "wait-for -host ldap-server -port 1636 -timeout 600",
], ],
}] }]
@@ -3082,7 +3081,7 @@ def tikaService():
"name": "wait-for-tika-service", "name": "wait-for-tika-service",
"image": OC_CI_WAIT_FOR, "image": OC_CI_WAIT_FOR,
"commands": [ "commands": [
"wait-for -it tika:9998 -t 300", "wait-for -host tika -port 9998 -timeout 300",
], ],
}] }]
@@ -3192,13 +3191,18 @@ def k6LoadTests(ctx):
}] }]
def waitForServices(name, services = []): def waitForServices(name, services = []):
services = ",".join(services) commands = []
for service in services:
host, port = service.split(":", 1)
commands.append(
"wait-for -host %s -port %s -timeout 300" % (host, port),
)
return [{ return [{
"name": "wait-for-%s" % name, "name": "wait-for-%s" % name,
"image": OC_CI_WAIT_FOR, "image": OC_CI_WAIT_FOR,
"commands": [ "commands": commands,
"wait-for -it %s -t 300" % services,
],
}] }]
def openCloudHealthCheck(name, services = []): def openCloudHealthCheck(name, services = []):