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
+15 -33
View File
@@ -1,11 +1,8 @@
# Workflow 2: Build batch 1 (node B)
depends_on:
- test
when:
event: push
branch: main
steps:
build-scheduler:
image: woodpeckerci/plugin-docker-buildx
@@ -15,12 +12,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -46,7 +39,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-symbol-registry:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -55,12 +48,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -77,7 +66,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
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:
kubernetes:
resources:
@@ -87,7 +76,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-ingestion:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -96,12 +85,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -118,7 +103,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.ingestion.worker"
build_args: SERVICE_CMD=python -m services.ingestion.worker
backend_options:
kubernetes:
resources:
@@ -128,7 +113,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-parser:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -137,12 +122,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -159,7 +140,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.parser.worker"
build_args: SERVICE_CMD=python -m services.parser.worker
backend_options:
kubernetes:
resources:
@@ -169,3 +150,4 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
+16 -34
View File
@@ -1,11 +1,8 @@
# Workflow 3: Build batch 2 (node C)
depends_on:
- test
when:
event: push
branch: main
steps:
build-extractor:
image: woodpeckerci/plugin-docker-buildx
@@ -15,12 +12,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -37,7 +30,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.extractor.worker"
build_args: SERVICE_CMD=python -m services.extractor.worker
backend_options:
kubernetes:
resources:
@@ -47,7 +40,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-aggregation:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -56,12 +49,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -78,7 +67,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.aggregation.worker"
build_args: SERVICE_CMD=python -m services.aggregation.worker
backend_options:
kubernetes:
resources:
@@ -88,7 +77,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-recommendation:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -97,12 +86,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -119,7 +104,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.recommendation.worker"
build_args: SERVICE_CMD=python -m services.recommendation.worker
backend_options:
kubernetes:
resources:
@@ -129,7 +114,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-risk:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -138,12 +123,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -160,7 +141,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
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:
kubernetes:
resources:
@@ -170,3 +151,4 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
+22 -48
View File
@@ -1,11 +1,8 @@
# Workflow 4: Build batch 3 (node D)
depends_on:
- test
when:
event: push
branch: main
steps:
build-broker-adapter:
image: woodpeckerci/plugin-docker-buildx
@@ -15,12 +12,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -37,7 +30,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.adapters.broker_adapter"
build_args: SERVICE_CMD=python -m services.adapters.broker_adapter
backend_options:
kubernetes:
resources:
@@ -47,7 +40,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-lake-publisher:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -56,12 +49,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -78,7 +67,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
context: .
build_args: "SERVICE_CMD=python -m services.lake_publisher.worker"
build_args: SERVICE_CMD=python -m services.lake_publisher.worker
backend_options:
kubernetes:
resources:
@@ -88,7 +77,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-query-api:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -97,12 +86,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -119,7 +104,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
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:
kubernetes:
resources:
@@ -129,7 +114,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-trading-engine:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -138,12 +123,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -160,7 +141,7 @@ steps:
- latest
dockerfile: docker/Dockerfile
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:
kubernetes:
resources:
@@ -170,7 +151,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-dashboard:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -179,12 +160,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -211,7 +188,7 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
build-superset:
image: woodpeckerci/plugin-docker-buildx
privileged: true
@@ -220,12 +197,8 @@ steps:
registry: registry.celestium.life
custom_dns: 192.168.42.1
buildx_flags: --driver-opt network=host
buildkitd_config: |
[registry."docker.io"]
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"
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"
no_proxy: 10.0.0.0/8,192.168.0.0/16,127.0.0.1,localhost,.local,.celestium.life
logins:
- registry: https://registry.celestium.life
username:
@@ -251,3 +224,4 @@ steps:
limits:
memory: 2Gi
cpu: 4000m
depends_on: []
+6 -5
View File
@@ -1,7 +1,7 @@
# Workflow 1: Lint and tests (node A)
when:
event: [push, pull_request]
event:
- push
- pull_request
steps:
lint-python:
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
@@ -18,7 +18,7 @@ steps:
limits:
memory: 512Mi
cpu: 1000m
depends_on: []
test-python:
image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
commands:
@@ -34,7 +34,7 @@ steps:
limits:
memory: 1Gi
cpu: 2000m
depends_on: []
test-frontend:
image: registry.celestium.life/dockerhub-cache/library/node:24-slim
commands:
@@ -50,3 +50,4 @@ steps:
limits:
memory: 1Gi
cpu: 2000m
depends_on: []