when:
  branch: main
  event: push

steps:
  build:
    image: woodpeckerci/plugin-kaniko
    settings:
      repo: tidal/server
      dockerfile: docker/standalone/Dockerfile
      context: .
      tags:
        - latest
        - ${CI_COMMIT_SHA}
      registry: registry.threesix.ai
      build_args:
        - TARGETPLATFORM=linux/amd64
      extra_args: --customPlatform=linux/amd64

  deploy:
    image: bitnami/kubectl:latest
    environment:
      KUBE_CONFIG_DATA:
        from_secret: kubeconfig
      CI_COMMIT_SHA: $CI_COMMIT_SHA
    commands:
      - mkdir -p /tmp/.kube
      - printenv KUBE_CONFIG_DATA | base64 -d > /tmp/.kube/config
      - chmod 600 /tmp/.kube/config
      - export KUBECONFIG=/tmp/.kube/config
      - kubectl set image deployment/tidaldb tidaldb=registry.threesix.ai/tidal/server:${CI_COMMIT_SHA} -n tidaldb
      - kubectl rollout status deployment/tidaldb -n tidaldb --timeout=180s
    depends_on: [build]
