name: Build and Push Docker Image on: push: branches: [main] pull_request: branches: [main] env: RAILS_ENV: production CONTAINER_IMAGE: ${{ secrets.REGISTRY_IMAGE }}:${{ github.ref_name }}-${{ github.sha }} jobs: build: runs-on: docker container: image: docker:24-cli steps: - name: Docker info run: docker info - name: Log in to container registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login \ -u "${{ secrets.REGISTRY_USER }}" \ --password-stdin \ ${{ secrets.REGISTRY_URL }} - name: Build Docker image run: | docker build -t "$CONTAINER_IMAGE" . docker tag "$CONTAINER_IMAGE" "${{ secrets.REGISTRY_IMAGE }}:latest" - name: Push Docker images run: | docker push "$CONTAINER_IMAGE" docker push "${{ secrets.REGISTRY_IMAGE }}:latest"