name: Release

on:
  push:
    branches:
      - master
    tags-ignore:
      - '*.*'

jobs:
  release:
    runs-on: ubuntu-latest
    if: "!contains(toJSON(github.event.commits.*.message), '[skip-ci]') && !contains(toJSON(github.event.commits.*.message), '[skip ci]')"
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 14.x
      - id: cache-node-modules
        uses: actions/cache@v3
        with:
          path: |
            node_modules
            serverless/users/node_modules
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
      - run: yarn install --frozen-lockfile --non-interactive
        if: steps.cache-node-modules.outputs.cache-hit != 'true'
      - run: yarn semantic-release --ci --debug
        env:
          GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
      - name: Rebase and push to develop
        uses: github-actions-x/commit@v2.8
        with:
          push-branch: develop
          github-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          rebase: 'true'
          name: ${{ secrets.COMMITER_NAME }}
          email: ${{ secrets.COMMITER_EMAIL }}
