fix: run steps in parallel within each workflow

All build steps and test steps now have depends_on: [] so they
execute concurrently within their workflow instead of sequentially.
This commit is contained in:
Celes Renata
2026-04-20 04:07:26 +00:00
parent 40eacdf8d2
commit a735e569b2
4 changed files with 239 additions and 300 deletions
+64 -82
View File
@@ -1,11 +1,8 @@
# Workflow 2: Build batch 1 (node B)
depends_on: depends_on:
- test - test
when: when:
event: push event: push
branch: main branch: main
steps: steps:
build-scheduler: build-scheduler:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
@@ -15,26 +12,22 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile.scheduler dockerfile: docker/Dockerfile.scheduler
context: . context: .
backend_options: backend_options:
@@ -46,7 +39,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-symbol-registry: build-symbol-registry:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -55,29 +48,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000" build_args: SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -87,7 +76,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-ingestion: build-ingestion:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -96,29 +85,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.ingestion.worker" build_args: SERVICE_CMD=python -m services.ingestion.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -128,7 +113,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-parser: build-parser:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -137,29 +122,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.parser.worker" build_args: SERVICE_CMD=python -m services.parser.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -169,3 +150,4 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
+65 -83
View File
@@ -1,11 +1,8 @@
# Workflow 3: Build batch 2 (node C)
depends_on: depends_on:
- test - test
when: when:
event: push event: push
branch: main branch: main
steps: steps:
build-extractor: build-extractor:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
@@ -15,29 +12,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.extractor.worker" build_args: SERVICE_CMD=python -m services.extractor.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -47,7 +40,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-aggregation: build-aggregation:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -56,29 +49,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.aggregation.worker" build_args: SERVICE_CMD=python -m services.aggregation.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -88,7 +77,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-recommendation: build-recommendation:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -97,29 +86,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.recommendation.worker" build_args: SERVICE_CMD=python -m services.recommendation.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -129,7 +114,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-risk: build-risk:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -138,29 +123,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000" build_args: SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -170,3 +151,4 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
+95 -121
View File
@@ -1,11 +1,8 @@
# Workflow 4: Build batch 3 (node D)
depends_on: depends_on:
- test - test
when: when:
event: push event: push
branch: main branch: main
steps: steps:
build-broker-adapter: build-broker-adapter:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
@@ -15,29 +12,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.adapters.broker_adapter" build_args: SERVICE_CMD=python -m services.adapters.broker_adapter
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -47,7 +40,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-lake-publisher: build-lake-publisher:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -56,29 +49,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=python -m services.lake_publisher.worker" build_args: SERVICE_CMD=python -m services.lake_publisher.worker
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -88,7 +77,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-query-api: build-query-api:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -97,29 +86,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000" build_args: SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -129,7 +114,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-trading-engine: build-trading-engine:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -138,29 +123,25 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
context: . context: .
build_args: "SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000" build_args: SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -170,7 +151,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-dashboard: build-dashboard:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -179,26 +160,22 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: frontend/Dockerfile dockerfile: frontend/Dockerfile
context: frontend context: frontend
no_cache: true no_cache: true
@@ -211,7 +188,7 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
build-superset: build-superset:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
privileged: true privileged: true
@@ -220,26 +197,22 @@ steps:
registry: registry.celestium.life registry: registry.celestium.life
custom_dns: 192.168.42.1 custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host buildx_flags: --driver-opt network=host
buildkitd_config: | buildkitd_config: "[registry.\"docker.io\"]\n mirrors = [\"registry.celestium.life/v2/dockerhub-cache\"]\n[registry.\"ghcr.io\"]\n mirrors = [\"registry.celestium.life/v2/ghcr-cache\"]\n"
[registry."docker.io"] no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
mirrors = ["registry.celestium.life/v2/dockerhub-cache"]
[registry."ghcr.io"]
mirrors = ["registry.celestium.life/v2/ghcr-cache"]
no_proxy: "10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life"
logins: logins:
- registry: https://registry.celestium.life - registry: https://registry.celestium.life
username: username:
from_secret: harbor_username from_secret: harbor_username
password: password:
from_secret: harbor_password from_secret: harbor_password
- registry: https://index.docker.io/v1/ - registry: https://index.docker.io/v1/
username: username:
from_secret: docker_username from_secret: docker_username
password: password:
from_secret: docker_password from_secret: docker_password
tags: tags:
- ${CI_COMMIT_SHA} - ${CI_COMMIT_SHA}
- latest - latest
dockerfile: docker/Dockerfile.superset dockerfile: docker/Dockerfile.superset
context: docker context: docker
backend_options: backend_options:
@@ -251,3 +224,4 @@ steps:
limits: limits:
memory: 2Gi memory: 2Gi
cpu: 4000m cpu: 4000m
depends_on: []
+15 -14
View File
@@ -1,14 +1,14 @@
# Workflow 1: Lint and tests (node A)
when: when:
event: [push, pull_request] event:
- push
- pull_request
steps: steps:
lint-python: lint-python:
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
commands: commands:
- pip install ruff==0.15.10 --quiet - pip install ruff==0.15.10 --quiet
- ruff --version - ruff --version
- ruff check --output-format=concise . - ruff check --output-format=concise .
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -18,13 +18,13 @@ steps:
limits: limits:
memory: 512Mi memory: 512Mi
cpu: 1000m cpu: 1000m
depends_on: []
test-python: test-python:
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
commands: commands:
- pip install -r requirements.txt --quiet - pip install -r requirements.txt --quiet
- pip install hypothesis --quiet - pip install hypothesis --quiet
- pytest tests/ -x --tb=short -q --ignore=tests/integration - pytest tests/ -x --tb=short -q --ignore=tests/integration
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -34,13 +34,13 @@ steps:
limits: limits:
memory: 1Gi memory: 1Gi
cpu: 2000m cpu: 2000m
depends_on: []
test-frontend: test-frontend:
image: registry.celestium.life/dockerhub-cache/library/node:24-slim image: registry.celestium.life/dockerhub-cache/library/node:24-slim
commands: commands:
- cd frontend - cd frontend
- npm ci - npm ci
- npx vitest --run - npx vitest --run
backend_options: backend_options:
kubernetes: kubernetes:
resources: resources:
@@ -50,3 +50,4 @@ steps:
limits: limits:
memory: 1Gi memory: 1Gi
cpu: 2000m cpu: 2000m
depends_on: []