name: Pre-release

on:
  push:
    tags:
      - 'v*-alpha*'
      - 'v*-beta*'
      - 'v*-rc*'

jobs:
  prerelease:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'
          registry-url: 'https://registry.npmjs.org'
          cache: 'npm'
          
      - name: Install dependencies
        run: npm ci
        
      - name: Run tests
        run: npm run test:coverage-check
        
      - name: Run linting
        run: npm run lint
        
      - name: Build package
        run: npm run build
        
      - name: Publish pre-release to npm
        run: npm publish --tag beta
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
          
      - name: Create GitHub Pre-release
        uses: softprops/action-gh-release@v1
        with:
          tag_name: ${{ github.ref_name }}
          name: Pre-release ${{ github.ref_name }}
          draft: false
          prerelease: true
          body: |
            ## Pre-release ${{ github.ref_name }}
            
            This is a pre-release version for testing purposes.
            
            ## Installation (Pre-release)
            
            ```bash
            npm install github-pr-automation@beta
            ```
            
            ## Testing
            
            Please test this pre-release and report any issues in the [Issues](https://github.com/jmalicki/github-pr-automation-mcp/issues) section.
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
