Complete implementation of the DCOS package including: - 40+ Python source files across agents, communication, core, learning, memory, protocols, utils - pyproject.toml build configuration - 102 unit tests across all subsystems - Fixed flake.nix (Python 3.12, proper dependencies, pyproject build) - Fixed .woodpecker.yml (correct paths, removed silent-fail flags) - Added .gitignore - Cleared stale pytest cache
33 lines
1.1 KiB
YAML
33 lines
1.1 KiB
YAML
# Woodpecker CI pipeline for DCOS
|
|
# Integrates with stonks-ci (stonks-oracle's CI/CD at stonks-ci.celestium.life)
|
|
|
|
steps:
|
|
- name: lint-and-test
|
|
image: python:3.12-slim
|
|
commands:
|
|
- pip install --break-system-packages ruff pytest asyncpg redis aiosqlite pyyaml pydantic
|
|
- ruff check src/dcos/
|
|
- PYTHONPATH=src:$PYTHONPATH pytest tests/ -x --tb=short -q
|
|
when:
|
|
event: push
|
|
|
|
- name: build-and-push-image
|
|
image: plugins/docker
|
|
privileged: true
|
|
commands:
|
|
- docker login ghcr.io -u "${GITHUB_TOKEN}" -p "${GHCR_TOKEN}"
|
|
- docker build -f docker/Dockerfile.dcos -t ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA} .
|
|
- docker push ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA}
|
|
- docker tag ghcr.io/celesrenata/dcos:${CI_COMMIT_SHA} ghcr.io/celesrenata/dcos:latest
|
|
- docker push ghcr.io/celesrenata/dcos:latest
|
|
when:
|
|
event: push
|
|
|
|
- name: deploy-to-k8s
|
|
image: bitnami/kubectl:latest
|
|
commands:
|
|
# Deploy using runmefirst.sh (handles secrets, namespace, GHCR pull secret)
|
|
- bash ~/sources/kube/dcos/runmefirst.sh
|
|
when:
|
|
event: push
|