name: Fetch Merged Changes
on:
  workflow_dispatch:
    inputs:
      fromCommit:
        description: "From Commit SHA (full-length)"
        required: true
      toCommit:
        description: "To Commit SHA (full-length, if omitted will use latest)"

jobs:
  fetchChangelog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Use Node 22
        uses: actions/setup-node@v4
        with:
          node-version: 24
          cache: "npm"
      - name: Install NPM dependencies
        working-directory: ./tools/fetch-changelog
        run: npm ci
      - name: Fetch Changes from GitHub API
        working-directory: ./tools/fetch-changelog
        env:
          GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          node index.js \
            --from=${{ github.event.inputs.fromCommit }} \
            --to=${{ github.event.inputs.toCommit }} > changes.md
          echo
          echo "============================================================"
          echo
          cat changes.md
          echo
          echo "============================================================"
          echo
          echo "You may want to go to https://gist.github.com/ to upload the final changelog"
          echo "The next step will require an url because we can't easily pass multiline strings to actions"
      - uses: actions/upload-artifact@v4
        with:
          name: bitburner_changelog___DRAFT.md
          path: ./tools/fetch-changelog/changes.md
