name: Build
on:
  workflow_dispatch:
  push:
    branches:
      - master
      - master-cdn
      - preview
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: "0"
      - name: Setup git
        run: |-
          git config --local user.email github-actions[bot]@users.noreply.github.com
          git config --local user.name github-actions[bot]
          git config --global core.autocrlf true
          git config --global core.safecrlf false
      - name: Install dependencies
        uses: pnpm/action-setup@v4
        with:
          run_install: true
      - name: Type check
        run: pnpm run type
      - name: ESLint check
        run: pnpm run lint
      - name: Build core
        run: pnpm run build-core
      - name: Build features
        run: |
          cd registry
          pnpm install
          cd ../
          pnpm run build-features
      - name: Git commit
        id: commit
        run: |
          git add --all
          git commit -m "CI build"
        continue-on-error: true
      - name: Git push
        uses: ad-m/github-push-action@master
        if: ${{ steps.commit.outcome == 'success' }}
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}
      - name: Log
        if: ${{ steps.commit.outcome != 'success' }}
        run: echo Nothing to commit.
