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
|
|
- 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
|
|
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
|