name: Release

on:
  push:
    branches:
      - master
jobs:
  release:
    runs-on: ubuntu-latest
    if: contains(github.event.head_commit.message, 'chore(release)')
    steps:
      - uses: actions/checkout@v1
        with:
          ref: master
          fetch-depth: 0
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: |
          yarn -v
          yarn --ignore-engines
          yarn build
          yarn test:prod
        env:
          NODE_OPTIONS: --max_old_space_size=4096
          REGISTRY: https://registry.npmjs.org
      - uses: janrywang/github-tag-release@main
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
      - run: yarn run release
        env:
          NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY_ID }}
          ACCESS_KEY_SECRET: ${{ secrets.ACCESS_KEY_SECRET }}
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          fail_ci_if_error: true
          verbose: true
