{
  "name": "Build",
  "on": {
    "workflow_dispatch": null,
    "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\ngit config --local user.name github-actions[bot]\ngit config --global core.autocrlf true\ngit 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\npnpm install\ncd ../\npnpm run build-features\n"
        },
        {
          "name": "Git commit",
          "id": "commit",
          "run": "git add --all\ngit commit -m \"CI build\"\n",
          "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."
        }
      ]
    }
  }
}