echoserver 0.1.0

Echo Server
name: "Release"

on:
  workflow_dispatch:
  push:
    tags:
      - "v*.*.*"

env:
  IMAGE_NAME: ${{ github.repository }}
  IMAGE_TAG: ${{ github.ref_name }}

jobs:
  publish-image:
    name: Publish image
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - uses: extractions/setup-just@v2
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: Log in to the Container registry
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Build Image
        run: |
          just image ${{ env.IMAGE_TAG }}
      - name: Publish image
        run: |
          export GHCR_IMAGE=ghcr.io/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}
          
          docker push ${GHCR_IMAGE}
          docker manifest create ${GHCR_IMAGE} ${GHCR_IMAGE}
          docker manifest push ${GHCR_IMAGE}