name: 📝 Publish Docs
on:
  push:
    branches:
      - main
  workflow_dispatch:
    inputs:
      tag:
        description: Docker Image Tag
        required: true
        default: latest

permissions:
  contents: read

jobs:
  publish:
    # Only run if it's the upstream repository, not forks
    if: github.repository == 'wxt-dev/wxt'
    name: Publish Docs
    runs-on: ubuntu-22.04
    permissions:
      contents: write
    steps:
      - name: Checkout
        uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0

      - name: Setup
        uses: ./.github/actions/setup

      - name: Login to Docker Registry
        uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
        with:
          registry: https://${{ secrets.DOCKER_REGISTRY_HOSTNAME }}
          username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
          password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}

      - name: Build docs
        run: |
          pnpm docs:build
          docker build docs/.vitepress -t ${{ secrets.DOCKER_REGISTRY_HOSTNAME }}/wxt/docs:${{ github.event.inputs.tag || 'latest' }}

      - name: Push Image
        run: docker push ${{ secrets.DOCKER_REGISTRY_HOSTNAME }}/wxt/docs:${{ github.event.inputs.tag || 'latest' }}

      - name: Deploy
        run: curl -X POST -i ${{ secrets.UPDATE_DOCS_WEBHOOK }}
