# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages

name: Node.js Package

on:
    release:
        types: [created]

jobs:
    build:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: actions/setup-node@v4
              with:
                  node-version: 20
            - run: npm ci
            - run: npm run lint

    publish-npm:
        needs: build
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: actions/setup-node@v4
              with:
                  node-version: 20
                  registry-url: https://registry.npmjs.org/
            - run: npm ci
            # GitHub releases flagged "pre-release" publish to the `beta`
            # dist-tag so existing users on Manage Palette (which tracks
            # `latest`) don't auto-upgrade onto unproven builds. Stable
            # releases publish to `latest` as before.
            - run: npm publish ${{ github.event.release.prerelease && '--tag beta' || '' }}
              env:
                  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

    # publish-gpr:
    #   needs: build
    #   runs-on: ubuntu-latest
    #   steps:
    #     - uses: actions/checkout@v4
    #     - uses: actions/setup-node@v4
    #       with:
    #         node-version: 20
    #         registry-url: https://npm.pkg.github.com/
    #     - run: npm ci
    #     - run: npm publish
    #       env:
    #         NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
