name: CD-Liara
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest

    env:
      DISCORD_WEBHOOK_URL: 'https://canary.discord.com/api/webhooks/1266738294226554953/xLG8rouRFIAJJGSgroDyjorzkh1vxn6b2QqlLM44Y1rONt8F0rGkAB5v5VKY1h_znQW6'
      APP_NAME: asan-service-gps
      LIARA_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiI2NGVkY2ZmYWJiODUyOWZmNWFmOTU3YmEiLCJpYXQiOjE3MjMwMzQ5MTd9.MMm9PNgxL3S4RhiaXriU6OV9-dJHRVCIEPtJQK6pDRw

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: "18"
      - name: Set up environment
        run: |
         echo "COMMIT_MESSAGE=$(echo '${{ github.event.head_commit.message }}' | jq -aRs .)" >> $GITHUB_ENV
      - name: update-liara

        run: |
          npm i -g @liara/cli@6
          liara deploy --app="$APP_NAME" --api-token="$LIARA_TOKEN" --no-app-logs --port=3000
      - name: Deploy Stage
        if: success()
        uses: fjogeleit/http-request-action@v1
        with:
          url: ${{ env.DISCORD_WEBHOOK_URL }}
          method: 'POST'
          customHeaders: '{"Content-Type": "application/json"}'
          data: '{
              "content": " Github push ${{ github.repository }} / ${{ github.event.head_commit.timestamp }} / ${{github.event.head_commit.author.name}}",
              "embeds": [
                {
                  "title": "${{ github.repository }}",
                  "description": "Success deploy",
                  "url": "http://github.com/${{ github.repository }}",
                  "color": 32768,
                  "fields": [
                    {
                      "name": "${{github.event.head_commit.author.name}}",
                      "value": ${{ env.COMMIT_MESSAGE }}
                    }
                  ],
                  "author": {
                    "name": "${{ github.actor }}"
                  },
                  "timestamp": "${{ github.event.head_commit.timestamp }}"
                }
              ],
              "username": "${{github.event.head_commit.author.name}}",
              "attachments": []
            }'
      - name: Deploy Stage
        if: failure()
        uses: fjogeleit/http-request-action@v1
        with:
          url: ${{ env.DISCORD_WEBHOOK_URL }}
          method: 'POST'
          customHeaders: '{"Content-Type": "application/json"}'
          data: '{
              "content": " Failed to deploy ${{ github.repository }} / ${{ github.event.head_commit.timestamp }} / ${{github.event.head_commit.author.name}}",
              "embeds": [
                {
                  "title": "${{ github.repository }}",
                  "description": "Failed to deploy",
                  "url": "http://github.com/${{ github.repository }}",
                  "color": 16711680,
                  "fields": [
                    {
                      "name": "${{github.event.head_commit.author.name}}",
                      "value": ${{ env.COMMIT_MESSAGE }}
                    }
                  ],
                  "author": {
                    "name": "${{ github.actor }}"
                  },
                  "timestamp": "${{ github.event.head_commit.timestamp }}"
                }
              ],
              "username": "${{github.event.head_commit.author.name}}",
              "attachments": []
            }'
