# 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: build

on:
  push:
    branches:
      - master
    pull_request:
      branches:
        - master

jobs:
  lint-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 20
          registry-url: https://registry.npmjs.org/
      - run: npm install
      - run: npm run package
      - run: npm ci
      - run: npm run lint
      - run: npm run test:coverage
      - uses: codecov/codecov-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          file: ./coverage/clover.xml
          flags: unittests
          fail_ci_if_error: true

  bump-version:
    needs: lint-test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 20
          registry-url: https://registry.npmjs.org/
      - run: git config --global user.email "info@easyinvoice.cloud"
      - run: git config --global user.name "Danny Veldhoen"
      - run: npm version patch
      - run: git push https://${{secrets.GPR_TOKEN}}@github.com/dveldhoen/easyinvoice


  #   build:
  #     runs-on: ubuntu-latest
  #     steps:
  #       - uses: actions/checkout@v2
  #       - uses: actions/setup-node@v1
  #         with:
  #           node-version: 12
  #       - run: npm ci
  #       - run: npm test

  publish-npm:
    needs: bump-version
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          ref: 'master'
      - uses: actions/setup-node@v3
        with:
          node-version: 20
          registry-url: https://registry.npmjs.org/
      - run: cat package.json
      - run: npm publish --verbose
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}

#  publish-gpr:
#    needs: bump-version
#    runs-on: ubuntu-latest
#    steps:
#      - uses: actions/checkout@v2
#        with:
#          ref: 'master'
#      - uses: actions/setup-node@v1
#        with:
#          node-version: 12
#          registry-url: https://npm.pkg.github.com/
#          scope: '@dveldhoen'
#      - env:
#          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
#        run: |
#          npm config set registry 'https://npm.pkg.github.com/@dveldhoen'
#          npm publish



