turn-server 4.0.1

A pure rust-implemented turn server.
Documentation
name: publish docker image

on:
    push:
        tags:
            - "docker-*"

jobs:
    publish-docker:
        runs-on: ubuntu-latest
        permissions:
            packages: write
            contents: read
        steps:
            - uses: actions/checkout@v4
            - name: Extract image version
              id: meta
              shell: bash
              run: |
                  set -euo pipefail
                  tag="${GITHUB_REF_NAME}"
                  version="${tag#docker-}"
                  if [[ -z "${version}" ]]; then
                      echo "Unable to derive version from docker tag ${tag}" >&2
                      exit 1
                  fi
                  echo "version=${version}" >> "${GITHUB_OUTPUT}"
            - name: Build image
              run: docker build . --file Dockerfile --tag turn-server --label "runnumber=${GITHUB_RUN_ID}"
            - name: Log in to registry
              run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
            - name: Push image
              env:
                  IMAGE_VERSION: ${{ steps.meta.outputs.version }}
              run: |
                  IMAGE_ID=$(echo "ghcr.io/${{ github.repository_owner }}/turn-server" | tr '[A-Z]' '[a-z]')
                  docker tag turn-server $IMAGE_ID:${IMAGE_VERSION}
                  docker push $IMAGE_ID:${IMAGE_VERSION}
                  docker tag turn-server $IMAGE_ID:latest
                  docker push $IMAGE_ID:latest