# 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: npm Publish

on:
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: ./build_and_test.sh

  publish-npm:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
          registry-url: https://registry.npmjs.org/
      - name: Determine version from git tag
        id: version
        run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
      - name: set version
        run: |
          ./updateVersion.sh ${{ steps.version.outputs.tag }}
      - uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: ${{ steps.version.outputs.tag }}
          branch: master
      - name: publish
        run: |
          ./build_and_test.sh
          npm publish
        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: 12
#           registry-url: https://npm.pkg.github.com/
#       - run: npm ci
#       - run: npm publish
#        env:
#          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
