name: Release CI
on:
  push:
    branches:
      - main
jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Setup Node.js Env
        run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
      - name: Setup Node.js
        uses: dcodeIO/setup-node-nvm@v4
        with:
          node-version: "${{ env.NODE_VER }}"
      - name: Install dependencies
        run: npm ci
      - name: Validate package-lock.json changes
        run: make validate-no-uncommitted-package-lock-changes
      - name: Lint
        run: npm run lint
      - name: Test
        run: npm run test
      - name: i18n_extract
        run: npm run i18n_extract
      - name: Coverage
        uses: codecov/codecov-action@v2
      - name: Build
        run: npm run build
      - name: Release
        env:
          GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }}
        run: npx semantic-release@19.0.5
