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

permissions:
  contents: read # to fetch code (actions/checkout)

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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
        with:
          node-version: ${{ env.NODE_VERSION }}

      - name: Install dependencies
        run: npm ci

      - name: Verify release
        uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
        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 }}
