name: release
on:
  push:
    branches:
      - master
      - main

concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:

  create_pull_request:
    runs-on: ubuntu-latest
    steps:
    # set up
    - uses: actions/checkout@v3

    - uses: hecrj/setup-rust-action@v1
      with:
        rust-version: stable

    - uses: Swatinem/rust-cache@v2

    - uses: pnpm/action-setup@v2.2.4
      with:
        run_install: false

    # pnpm
    - uses: actions/setup-node@v3
      with:
        node-version: 16.x
        cache: 'pnpm'

    - name: Get pnpm store directory
      id: pnpm-cache
      run: |
        echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"

    - uses: actions/cache@v3
      name: Setup pnpm cache
      with:
        path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
        key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
        restore-keys: |
          ${{ runner.os }}-pnpm-store-

    - name: Install script dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y asciinema

    - name: Install Node.js project dependencies
      run: pnpm install

    - name: Create Release Pull Request
      uses: changesets/action@v1
      with:
        version: "pnpm version:prepare"
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        TERM: xterm