name: Canary Release

on:
  workflow_dispatch:
  push:
    branches:
      - main
      - docusaurus-v**
    paths:
      - .github/workflows/canary-release.yml
      - package.json
      - packages/**

permissions:
  contents: read

jobs:
  publish-canary:
    name: Publish Canary
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
        with:
          fetch-depth: 0 # Needed to get the commit number with "git rev-list --count HEAD"
      - name: Set up Node
        uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
        with:
          node-version: lts/*
          cache: yarn
      - name: Prepare git
        run: |
          git config --global user.name "Docusaurus Canary"
          git config --global user.email "canary@docusaurus.io"
          git fetch
          git checkout main
          echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc
          cat .npmrc
          echo "npm whoami"
          npm whoami
        env:
          NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
      - name: Installation
        run: yarn || yarn || yarn
      - name: Publish Canary release
        run: |
          yarn canary
        env:
          NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
