# CI/CD Pipeline for {{PROJECT_NAME}}
# Components will add their build steps below the marker

clone:
  git:
    image: woodpeckerci/plugin-git
    settings:
      depth: 1

steps:
  deps:
    image: golang:1.23
    commands:
      - go work sync
      - |
        for dir in services/*/; do
          if [ -f "$dir/go.mod" ]; then
            (cd "$dir" && go mod tidy)
          fi
        done
      - |
        for dir in workers/*/; do
          if [ -f "$dir/go.mod" ]; then
            (cd "$dir" && go mod tidy)
          fi
        done
      - |
        for dir in cli/*/; do
          if [ -f "$dir/go.mod" ]; then
            (cd "$dir" && go mod tidy)
          fi
        done
    when:
      branch: main
      event: push

  # COMPONENT_STEPS_BELOW
  # Do not remove the marker above - component steps are inserted here

  verify:
    image: bitnami/kubectl:latest
    commands:
      - echo "Pipeline complete for {{PROJECT_NAME}}"
      - kubectl get deployments -n projects -l app={{PROJECT_NAME}} --no-headers || true
    when:
      branch: main
      event: push
