name: semantic-release
on: [push]

jobs:
  release:
    # Only release on push to master
    if: github.event_name == 'push' && github.ref == 'refs/heads/master'
    strategy:
      matrix:
        os: [ubuntu-latest]
        node: [14]
    runs-on: ${{ matrix.os }}
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v2
      - name: Node.js ${{ matrix.node }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}
      - name: Cache node modules
        uses: actions/cache@v1
        with:
          path: ~/.yarn
          key: ${{ runner.os }}-${{ matrix.node }}-${{ hashFiles('yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ matrix.node }}-
            ${{ runner.os }}-
      - name: Install
        run: |
          yarn

      - name: Release
        run: npx semantic-release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

