name: Docker Build and Push

on:
  push:
    branches: [master]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Login to Docker Registry
      uses: docker/login-action@v2
      with:
        registry: g.codrs.ru
        username: ${{    vars.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_PASSWORD }}

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

    - name: Build and push Docker image
      uses: docker/build-push-action@v4
      with:
        context: .
        push: ${{ github.event_name == 'push' }}
        tags: |
          g.codrs.ru/${{ vars.DOCKER_USERNAME }}/codrs.ru:latest
          g.codrs.ru/${{ vars.DOCKER_USERNAME }}/codrs.ru:${{ github.sha }}
        cache-from: type=gha
        cache-to: type=gha,mode=max
