name: Docker Publish on: push: branches: - main tags: - 'v*' workflow_dispatch: env: REGISTRY: gitea.theriise.net IMAGE_WEB: gitea.theriise.net/steinhelge/pong-web IMAGE_LOBBY: gitea.theriise.net/steinhelge/pong-lobby jobs: publish-images: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to registry shell: bash env: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} run: | test -n "$REGISTRY_USER" test -n "$REGISTRY_PASSWORD" echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY" -u "$REGISTRY_USER" --password-stdin - name: Build and push images shell: bash run: | short_sha="$(git rev-parse --short=12 HEAD)" if tag_name="$(git describe --tags --exact-match 2>/dev/null)"; then version_tag="$tag_name" else version_tag="sha-$short_sha" fi echo "Publishing tags: $version_tag, latest" docker build \ -f Dockerfile.lobby \ -t "$IMAGE_LOBBY:$version_tag" \ -t "$IMAGE_LOBBY:latest" \ . docker build \ -f Dockerfile \ -t "$IMAGE_WEB:$version_tag" \ -t "$IMAGE_WEB:latest" \ . docker push "$IMAGE_LOBBY:$version_tag" docker push "$IMAGE_LOBBY:latest" docker push "$IMAGE_WEB:$version_tag" docker push "$IMAGE_WEB:latest"