# Шаблон: проверка всех модулей Конфигуратором (otk designer-check) в GitHub Actions — все режимы и
# -ExtendedModulesCheck, перед ней отрицательный контроль (сломанный модуль обязан найтись, иначе задание падает:
# «проверка Конфигуратором не работает»). Долгая, поэтому не на каждый PR: по метке PR otk-designer-check,
# по расписанию и вручную. Скопировать в .github/workflows/ проекта 1С; раннер и env — как в otk-gate.yml.
# Артефакт otk-designer-check: designer-check.md, designer-check.json, junit-designer-check.xml, вывод Конфигуратора.
name: otk-designer-check

on:
  pull_request:
    types: [labeled, synchronize]
  schedule:
    - cron: "0 2 * * *"                      # ночью, ветка по умолчанию
  workflow_dispatch:

env:
  OTK_HOME: C:/otk-ci                      # стенд раннера — как в otk-gate.yml
  OTK_USER: ""
  OTK_PLATFORM: ""

jobs:
  designer-check:
    if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'otk-designer-check') }}
    runs-on: [self-hosted, windows, 1c]
    timeout-minutes: 360
    steps:
      - uses: actions/checkout@v4

      - name: otk designer-check
        env:
          OTK_PASSWORD: ${{ secrets.OTK_PASSWORD }}
          OTK_IB: ${{ env.OTK_HOME }}/ib/ПРОЕКТ
          OTK_RUN_DIR: ${{ env.OTK_HOME }}/runs
        run: python -m otk_1c ci designer-check --artifacts otk-artifacts

      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: otk-designer-check
          path: otk-artifacts
          if-no-files-found: ignore
