name: NPM packages PREMIUM

# on: [push]

on:
  push:
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+'
      - 'v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+'

# on:
#   push:
#     branches:
#       - production

jobs:
  build:

    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-22.04]

    steps:
      - name: Context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
      - uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - name: Use Node.js 18.x
        uses: actions/setup-node@v1
        with:
          node-version: 18.x

      - _include: checkout-and-merge-pro

      - name: adjustNpmPackageJsonPremium
        run: |
          cd ..
          cd dbgate-merged
          node adjustNpmPackageJsonPremium

      - name: Configure NPM token
        env:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
          cd ..
          cd dbgate-merged
          npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"

      - name: Remove dbmodel - should be not published
        run: |
          cd ..
          cd dbgate-merged
          rm -rf packages/dbmodel

      - name: yarn install
        run: |
          cd ..
          cd dbgate-merged
          yarn install
          
      - name: setCurrentVersion
        run: |
          cd ..
          cd dbgate-merged
          yarn setCurrentVersion

      - name: printSecrets
        run: |
          cd ..
          cd dbgate-merged
            yarn printSecrets
        env:
          GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}

      - name: Publish dbgate-api-premium
        run: |
          cd ..
          cd dbgate-merged/packages/api
          npm publish

      - name: Publish dbgate-web-premium
        run: |
          cd ..
          cd dbgate-merged/packages/web
          npm publish

      - name: Publish dbgate-serve-premium
        run: |
          cd ..
          cd dbgate-merged/packages/serve
          npm publish

      - name: Publish dbgate-plugin-cosmosdb
        run: |
          cd ..
          cd dbgate-merged/plugins/dbgate-plugin-cosmosdb
          npm publish
