name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is building the chore app 🚀
on:
  push:
    branches:
      - master
      - next

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository code
        uses: actions/checkout@v3

      - name: Determine Image Tag
        id: vars
        run: |          
          if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
            echo "tag=latest" >> $GITHUB_OUTPUT
          else
            echo "tag=next" >> $GITHUB_OUTPUT
          fi

      - name: Resolve Gitea Server IP
        id: gitea_ip
        run: |
          ip=$(getent hosts gitea-server | awk '{ print $1 }')
          echo "ip=$ip" >> $GITHUB_OUTPUT        

      - name: Build Docker Image
        run: |
          docker build -t ${{ steps.gitea_ip.outputs.ip }}:3000/ryan/chore:${{ steps.vars.outputs.tag }} .

      - name: Log in to Registry
        uses: docker/login-action@v2
        with:
          registry: ${{ steps.gitea_ip.outputs.ip }}:3000
          username: ryan #${{ secrets.REGISTRY_USERNAME }} # Stored as a Gitea secret
          password: 0x013h #${{ secrets.REGISTRY_TOKEN }} # Stored as a Gitea secret (use a PAT here)

      - name: Push Image to Gitea Registry
        run: |
          docker push ${{ steps.gitea_ip.outputs.ip }}:3000/ryan/chore:${{ steps.vars.outputs.tag }}