name: deploy to danak

on:
  push:
    branches:
      - master

jobs:
  build_and_deploy:
    runs-on: ubuntu-latest

    env:
      DANAK_SERVER: "https://captain.dev.danakcorp.com"
      APP_TOKEN: cd7054537f3db9d51d4b2b6d22e2bef00c67a5b56c6f8d637f5a745b536b74ed
      APP_NAME: dmail-admin
      GITHUB_TOKEN: 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

    steps:
      - name: Check out repositorys
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Login to Container Registry
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: zmihamid
          password: ${{ env.GITHUB_TOKEN }}

      - name: Preset Image Name
        run: echo "IMAGE_URL=$(echo ghcr.io/zmihamid/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV

      - name: Build and push Docker Image
        uses: docker/build-push-action@v5
        with:
          context: .
          file: ./Dockerfile
          push: true
          tags: ${{ env.IMAGE_URL }}

      - name: Install CapRover CLI
        run: npm install -g caprover

      - name: deploy to server
        run: |
          caprover deploy -a $APP_NAME -u $DANAK_SERVER --appToken $APP_TOKEN  -i "$IMAGE_URL"
