[PR #16551] [CLOSED] Agent/strategy validation ci #438

Closed
opened 2026-08-06 13:25:40 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/zapret-discord-youtube/pull/16551
Author: @Onmaynec
Created: 8/6/2026
Status: ❌ Closed

Base: main ← Head: agent/strategy-validation-ci


📝 Commits (2)

  • 1a3a665 ci: add strategy validator
  • fd87afe ci: run strategy validator

📊 Changes

2 files changed (+193 additions, -0 deletions)

View changed files

➕ .github/scripts/validate-strategies.ps1 (+159 -0)
➕ .github/workflows/validate-strategies.yml (+34 -0)

📄 Description

Что изменено

  • Добавлен PowerShell-валидатор для всех корневых файлов general*.bat.

  • Добавлен GitHub Actions workflow, который автоматически запускает проверку при изменении:

    • стратегий general*.bat;
    • файлов в bin/;
    • файлов в lists/;
    • самого валидатора и workflow.

Что проверяет валидатор

  • наличие обязательных файлов проекта:

    • service.bat;
    • .service/version.txt;
    • bin/winws.exe;
  • наличие обязательных вызовов инициализации в каждой стратегии:

    • status_zapret;
    • check_updates;
    • load_game_filter;
    • load_user_lists;
  • наличие ровно одного запуска winws.exe;

  • пропущенные символы продолжения команды ^;

  • пустые строки внутри многострочной команды winws.exe;

  • ссылки на отсутствующие файлы через %BIN% и %LISTS%;

  • опечатки в именах бинарных файлов и списков.

Пользовательские файлы list-general-user.txt, list-exclude-user.txt и ipset-exclude-user.txt исключены из проверки, поскольку они создаются service.bat при первом запуске.

Зачем это нужно

Стратегии содержат длинные многострочные команды и большое количество ссылок на файлы из bin/ и lists/.

После переименования, удаления файла или случайного удаления символа ^ стратегия может перестать запускаться или работать некорректно. Сейчас такие ошибки часто обнаруживаются только после скачивания релиза пользователями.

Новый workflow обнаруживает такие проблемы автоматически до слияния Pull Request и показывает конкретный файл и причину ошибки.

Результат проверки

Workflow успешно выполнен на windows-latest.

Strategy validation passed.
Checked 21 strategy file(s) and 293 unique file reference(s).

Влияние на проект

  • Рабочие стратегии не изменены.
  • Бинарные файлы и списки не изменены.
  • Поведение программы для пользователей не изменено.
  • Валидатор находится в .github/scripts/, поэтому не попадает в пользовательские архивы релизов.
  • Workflow использует только разрешение contents: read.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/zapret-discord-youtube/pull/16551 **Author:** [@Onmaynec](https://github.com/Onmaynec) **Created:** 8/6/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `agent/strategy-validation-ci` --- ### 📝 Commits (2) - [`1a3a665`](https://github.com/Flowseal/zapret-discord-youtube/commit/1a3a665f8c0ccd3cbce032f844cd84bfc85025ef) ci: add strategy validator - [`fd87afe`](https://github.com/Flowseal/zapret-discord-youtube/commit/fd87afe78e84f3ade79352d17b352b4695a8cdec) ci: run strategy validator ### 📊 Changes **2 files changed** (+193 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/scripts/validate-strategies.ps1` (+159 -0) ➕ `.github/workflows/validate-strategies.yml` (+34 -0) </details> ### 📄 Description ## Что изменено * Добавлен PowerShell-валидатор для всех корневых файлов `general*.bat`. * Добавлен GitHub Actions workflow, который автоматически запускает проверку при изменении: * стратегий `general*.bat`; * файлов в `bin/`; * файлов в `lists/`; * самого валидатора и workflow. ## Что проверяет валидатор * наличие обязательных файлов проекта: * `service.bat`; * `.service/version.txt`; * `bin/winws.exe`; * наличие обязательных вызовов инициализации в каждой стратегии: * `status_zapret`; * `check_updates`; * `load_game_filter`; * `load_user_lists`; * наличие ровно одного запуска `winws.exe`; * пропущенные символы продолжения команды `^`; * пустые строки внутри многострочной команды `winws.exe`; * ссылки на отсутствующие файлы через `%BIN%` и `%LISTS%`; * опечатки в именах бинарных файлов и списков. Пользовательские файлы `list-general-user.txt`, `list-exclude-user.txt` и `ipset-exclude-user.txt` исключены из проверки, поскольку они создаются `service.bat` при первом запуске. ## Зачем это нужно Стратегии содержат длинные многострочные команды и большое количество ссылок на файлы из `bin/` и `lists/`. После переименования, удаления файла или случайного удаления символа `^` стратегия может перестать запускаться или работать некорректно. Сейчас такие ошибки часто обнаруживаются только после скачивания релиза пользователями. Новый workflow обнаруживает такие проблемы автоматически до слияния Pull Request и показывает конкретный файл и причину ошибки. ## Результат проверки Workflow успешно выполнен на `windows-latest`. ```text Strategy validation passed. Checked 21 strategy file(s) and 293 unique file reference(s). ``` ## Влияние на проект * Рабочие стратегии не изменены. * Бинарные файлы и списки не изменены. * Поведение программы для пользователей не изменено. * Валидатор находится в `.github/scripts/`, поэтому не попадает в пользовательские архивы релизов. * Workflow использует только разрешение `contents: read`. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-08-06 13:25:40 +03:00
mirror-bot changed title from [PR #16551] Agent/strategy validation ci to [PR #16551] [CLOSED] Agent/strategy validation ci 2026-08-07 11:10:37 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/zapret-discord-youtube#438