tileyolo 0.2.3

A simple raster-based XYZ tile server for serving GeoTIFFs
name: Build & Publish Docker Image

on:
  push:
    # only run on semver tags like 0.1.0
    tags:
      - '[0-9]+.[0-9]+.[0-9]+'

permissions:
  contents: read        # for checkout
  packages: write       # for GHCR push

jobs:
  build-and-publish:
    runs-on: ubuntu-latest
    steps:
      - name: Check out source
        uses: actions/checkout@v3

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2

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

      - name: Log in to GitHub Container Registry
        uses: docker/login-action@v2
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Extract version from tag
        id: version
        run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

      - name: Build & push Docker image
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: |
            ghcr.io/${{ github.repository_owner }}/${{ github.repository }}:${{ steps.version.outputs.VERSION }}
            ghcr.io/${{ github.repository_owner }}/${{ github.repository }}:latest