name: Publish release preview package

on:
  push:
    branches:
      - 'release/**'

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Setup Node.js
      uses: actions/setup-node@v3
      with:
        node-version: 16.x
    - name: Install Yarn
      run: npm i yarn --global

    - name: Install Json
      run: npm i json --global

    - name: Install Packages
      run: yarn install --frozen-lockfile

    - name: Publish
      run: |
        PREVIEW_VERSION=8
        VERSION=$(echo ${{github.ref}} | tail -c +20)-preview.$PREVIEW_VERSION
        echo $VERSION
        npm version --no-git-tag-version --allow-same-version $VERSION
        npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }}
        npm set registry https://npm.pkg.github.com/mermaid-js
        json -I -f package.json -e 'this.name="@mermaid-js/mermaid"' # Package name needs to be set to a scoped one because GitHub registry requires this
        json -I -f package.json -e 'this.repository="git://github.com/mermaid-js/mermaid"' # Repo url needs to have a specific format too
        npm publish