name: Build examples

on:
  schedule:
    - cron: '0 0 * * 0'

permissions:
  contents: read

jobs:
  build-examples:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    strategy:
      fail-fast: false
      matrix:
        example:
          - custom-parsers
          - typescript-example/cjs
          - typescript-example/esm
          - typescript-client-example/cjs
          - typescript-client-example/esm
          - webpack-build
          - webpack-build-server
          - basic-crud-application/angular-client
          - basic-crud-application/vue-client
          - nextjs-pages-router
          - nextjs-app-router
          - nuxt-example

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Use Node.js 20
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Build ${{ matrix.example }}
        run: |
          cd examples/${{ matrix.example }}
          npm install
          npm run build
