name: dockerize telemetry server

on:
  push:
    branches:
      - master
    paths:
      - src/telemetry/**
      - .github/workflows/dockerize_telemetry_server.yml
  pull_request:
    branches:
      - master
    paths:
      - src/telemetry/**
      - .github/workflows/dockerize_telemetry_server.yml
  workflow_dispatch:

env:
  DOCKER_IMAGE_TAG: ${{ github.ref == 'refs/heads/master' && 'latest' || github.event.pull_request.number }}

jobs:
  build:
    name: Build Docker Image, Push to Container Registry
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3

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

      - name: Login to GitHub Container Registry
        uses: docker/login-action@v2
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.PAT }}

      - name: 📦 Build and Push Docker Image
        uses: docker/build-push-action@v2
        with:
          context: src/telemetry
          file: src/telemetry/Dockerfile
          push: true
          tags: ghcr.io/${{ github.repository }}-telemetry:${{ env.DOCKER_IMAGE_TAG }}
          secrets: |
            "POSTHOG_API_KEY=${{ secrets.POSTHOG_API_KEY }}"
