name: Release

on:
    push:
        branches:
            - master

jobs:
    release:
        name: Release
        runs-on: ubuntu-latest
        steps:
            - name: Checkout Repo
              uses: actions/checkout@master
              with:
                  # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
                  fetch-depth: 0

            - name: Setup Node.js 12.x
              uses: actions/setup-node@master
              with:
                  node-version: 12.x

            - run: npm install -g pnpm
            - run: pnpm install --frozen-lockfile
            - run: pnpm build

            - name: Create Release Pull Request or Publish to npm
              id: changesets
              uses: changesets/action@master
              with:
                  # This expects you to have a script called release which does a build for your packages and calls changeset publish
                  publish: pnpm run publish
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
