# Woodpecker CI for rdev platform # Builds and deploys rdev-api, rdev-worker, and rdev-claudebox variables: - ®istry "registry.threesix.ai" - &when_main branch: main event: push steps: # Run tests first test: image: golang:1.22-alpine commands: - apk add --no-cache git - go test ./... # Build rdev-api image build-api: image: gcr.io/kaniko-project/executor:v1.23.2-debug commands: - /kaniko/executor --context=/woodpecker/src --dockerfile=Dockerfile.api --destination=registry.threesix.ai/rdev/api:${CI_COMMIT_SHA:0:8} --destination=registry.threesix.ai/rdev/api:latest --cache=true --skip-tls-verify when: <<: *when_main # Build rdev-worker image build-worker: image: gcr.io/kaniko-project/executor:v1.23.2-debug commands: - /kaniko/executor --context=/woodpecker/src --dockerfile=Dockerfile.worker --destination=registry.threesix.ai/rdev/worker:${CI_COMMIT_SHA:0:8} --destination=registry.threesix.ai/rdev/worker:latest --cache=true --skip-tls-verify when: <<: *when_main # Build rdev-claudebox image build-claudebox: image: gcr.io/kaniko-project/executor:v1.23.2-debug commands: - /kaniko/executor --context=/woodpecker/src --dockerfile=Dockerfile --destination=registry.threesix.ai/rdev/claudebox:${CI_COMMIT_SHA:0:8} --destination=registry.threesix.ai/rdev/claudebox:latest --cache=true --skip-tls-verify when: <<: *when_main # Deploy to k3s cluster deploy: image: bitnami/kubectl:latest commands: - echo "Deploying rdev-api..." - kubectl set image deployment/rdev-api rdev-api=registry.threesix.ai/rdev/api:${CI_COMMIT_SHA:0:8} -n rdev - kubectl rollout status deployment/rdev-api -n rdev --timeout=120s - echo "Deploying rdev-worker..." - kubectl set image deployment/rdev-worker rdev-worker=registry.threesix.ai/rdev/worker:${CI_COMMIT_SHA:0:8} -n rdev - kubectl rollout status deployment/rdev-worker -n rdev --timeout=120s - echo "Deploying claudebox..." - kubectl set image statefulset/claudebox claudebox=registry.threesix.ai/rdev/claudebox:${CI_COMMIT_SHA:0:8} -n rdev - kubectl rollout status statefulset/claudebox -n rdev --timeout=300s when: <<: *when_main