---
name: CI - Main

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  generate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5
        with:
          path: client-ts
      - name: Fetch schema
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: goauthentik/authentik
          ref: main
          path: authentik
          sparse-checkout: |
            schema.yml
          sparse-checkout-cone-mode: false
      - name: Generate API client
        working-directory: client-ts
        run: |
          cp ../authentik/schema.yml .
          make build version=0.0.0
  ci-main-mark:
    if: always()
    needs:
      - generate
    runs-on: ubuntu-latest
    steps:
      - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # release/v1
        with:
          jobs: ${{ toJSON(needs) }}
