name: Publish

on:
    push:
        branches: [main]
        paths:
            - "domains/*"
            - ".github/workflows/publish.yml"
            - "dnsconfig.js"

    workflow_dispatch:

concurrency:
    group: ${{ github.ref }}-publish
    cancel-in-progress: false

jobs:
    dns:
        name: DNS
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4

            - name: Generate creds.json
              run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json

            - name: Publish
              uses: is-a-dev/dnscontrol-action@main
              env:
                  CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
              with:
                  args: push
