name: Changesets
on:
  push:
    branches:
      - main
env:
  CI: true
  PNPM_CACHE_FOLDER: .pnpm-store
jobs:
  version:
    timeout-minutes: 15
    runs-on: ubuntu-latest
    steps:
      - name: checkout code repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: setup node.js
        uses: actions/setup-node@v3
        with:
          node-version: 14

      - name: setup pnpm
        uses: pnpm/action-setup@v2.2.4
        with:
          version: 7

      - name: Set up NPM credentials
        run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
        env:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

      - name: setup pnpm config
        run: pnpm config set store-dir $PNPM_CACHE_FOLDER

      - run: pnpm install --no-frozen-lockfile

      - name: Create versions PR & prepare publish
        uses: changesets/action@v1
        with:
          version: pnpm ci:version
          commit: 'chore: update versions'
          title: 'chore: update versions'
          publish: pnpm ci:publish
        env:
          # automatically available in actions
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          # npm publish token required for publishing. Set this in secrets
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
