# 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 - ruff check src/dcos/ - pytest tests/test_memory/ tests/test_core/ -x --tb=short -q || true when: event: push - name: build-and-push-image image: plugins/docker 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 # Docker plugin requires privileged mode for building images plugins: - name: docker settings: privileged: true