name: Reproducible Builds
on:
  push:
    # On tags
    tags:
      - '*'
  # Or manually
  workflow_dispatch:
    inputs:
      version:
        description: 'Version to verify (>= 4.0.0-rc.1)'
        required: false


jobs:
  run:
    name: Verify release
    runs-on: ubuntu-latest
    # skip on forks
    if: ${{ github.repository == 'jquery/jquery' }}
    env:
      NODE_VERSION: 24.x
    steps:
      - name: Checkout
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
        with:
          node-version: ${{ env.NODE_VERSION }}

      - name: Install dependencies
        run: npm ci

      - name: Verify release
        uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
        with:
          timeout_minutes: 10
          max_attempts: 3
          retry_on: error
          retry_wait_seconds: 60
          command: npm run release:verify
        env:
          VERSION: ${{ github.event.inputs.version || github.ref_name }}
