@7n/rules-ci-github 1.9.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/rules/abie/clean_merged_ignore_branches/docs/fix-clean_merged_ignore_branches.md +15 -10
- package/rules/abie/clean_merged_ignore_branches/docs/index.md +2 -2
- package/rules/abie/clean_merged_ignore_branches/fix-clean_merged_ignore_branches.mjs +10 -0
- package/rules/docker/lint_docker_yml/docs/fix-lint_docker_yml.md +13 -10
- package/rules/docker/lint_docker_yml/docs/index.md +2 -2
- package/rules/docker/lint_docker_yml/fix-lint_docker_yml.mjs +10 -0
- package/rules/ga/clean_ga_workflows/docs/fix-clean_ga_workflows.md +12 -12
- package/rules/ga/clean_ga_workflows/fix-clean_ga_workflows.mjs +10 -0
- package/rules/ga/clean_merged_branch/docs/fix-clean_merged_branch.md +17 -8
- package/rules/ga/clean_merged_branch/fix-clean_merged_branch.mjs +10 -0
- package/rules/ga/git_ai/docs/fix-git_ai.md +18 -8
- package/rules/ga/git_ai/fix-git_ai.mjs +10 -0
- package/rules/ga/lint_ga/docs/fix-lint_ga.md +16 -10
- package/rules/ga/lint_ga/fix-lint_ga.mjs +10 -0
- package/rules/ga/lint_repo_yml/docs/fix-lint_repo_yml.md +20 -8
- package/rules/ga/lint_repo_yml/fix-lint_repo_yml.mjs +10 -0
- package/rules/ga/service_deploy_workflow/docs/fix-service_deploy_workflow.md +38 -11
- package/rules/ga/service_deploy_workflow/fix-service_deploy_workflow.mjs +6 -0
- package/rules/ga/vscode_settings/docs/fix-vscode_settings.md +15 -8
- package/rules/ga/vscode_settings/fix-vscode_settings.mjs +10 -0
- package/rules/ga/zizmor_yml/docs/fix-zizmor_yml.md +14 -9
- package/rules/ga/zizmor_yml/fix-zizmor_yml.mjs +10 -0
- package/rules/js/lint_js_yml/docs/fix-lint_js_yml.md +16 -8
- package/rules/js/lint_js_yml/docs/index.md +2 -2
- package/rules/js/lint_js_yml/fix-lint_js_yml.mjs +10 -0
- package/rules/k8s/lint_k8s_yml/docs/fix-lint_k8s_yml.md +15 -10
- package/rules/k8s/lint_k8s_yml/docs/index.md +2 -2
- package/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs +10 -0
- package/rules/npm-module/npm_publish_yml/docs/fix-npm_publish_yml.md +19 -9
- package/rules/npm-module/npm_publish_yml/docs/index.md +2 -2
- package/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs +10 -0
- package/rules/php/lint_php_yml/docs/fix-lint_php_yml.md +19 -9
- package/rules/php/lint_php_yml/docs/index.md +2 -2
- package/rules/php/lint_php_yml/fix-lint_php_yml.mjs +10 -0
- package/rules/python/lint_python_yml/docs/fix-lint_python_yml.md +21 -8
- package/rules/python/lint_python_yml/docs/index.md +2 -2
- package/rules/python/lint_python_yml/fix-lint_python_yml.mjs +6 -0
- package/rules/rust/lint_rust_yml/docs/fix-lint_rust_yml.md +19 -9
- package/rules/rust/lint_rust_yml/docs/index.md +2 -2
- package/rules/rust/lint_rust_yml/fix-lint_rust_yml.mjs +6 -0
- package/rules/rust/toolchain_cache/docs/index.md +2 -4
- package/rules/rust/toolchain_cache/docs/main.md +23 -35
- package/rules/rust/toolchain_cache/main.mjs +4 -0
- package/rules/security/lint_security_yml/docs/fix-lint_security_yml.md +12 -10
- package/rules/security/lint_security_yml/docs/index.md +2 -2
- package/rules/security/lint_security_yml/fix-lint_security_yml.mjs +6 -0
- package/rules/style/lint_style_yml/docs/fix-lint_style_yml.md +10 -9
- package/rules/style/lint_style_yml/docs/index.md +2 -2
- package/rules/style/lint_style_yml/fix-lint_style_yml.mjs +6 -0
- package/rules/text/lint_text/docs/fix-lint_text.md +13 -8
- package/rules/text/lint_text/docs/index.md +2 -2
- package/rules/text/lint_text/fix-lint_text.mjs +6 -0
|
@@ -448,6 +448,12 @@ export async function migrateWorkflowFile(absPath, cwd, opts = {}) {
|
|
|
448
448
|
return true
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
+
/**
|
|
452
|
+
* Один детермінований патерн: для кожного workflow-файлу з порушеннями запускає
|
|
453
|
+
* `migrateWorkflowFile` без bootstrap (plan-джоба, per-domain lint-джоби,
|
|
454
|
+
* перешивка needs). Помилка міграції окремого файлу не валить прогін — deny
|
|
455
|
+
* лишається детектору до ручного фіксу.
|
|
456
|
+
*/
|
|
451
457
|
export const patterns = [
|
|
452
458
|
{
|
|
453
459
|
id: 'ga-service-workflow-canon-migrate',
|
|
@@ -3,24 +3,31 @@ type: JS Module
|
|
|
3
3
|
title: fix-vscode_settings.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/ga/vscode_settings/fix-vscode_settings.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 39ecd7e7
|
|
7
7
|
model: openai-codex/gpt-5.4-mini
|
|
8
|
+
tier: cloud-min
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:inaccurate:0.97
|
|
10
10
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
## Огляд
|
|
14
14
|
|
|
15
|
-
`patterns`
|
|
15
|
+
`patterns` задає спільні налаштування VS Code для консюмер-репо відповідно до канонічного шаблону концерну `vscode_settings`. Це потрібно, щоб однаковий базовий набір налаштувань застосовувався узгоджено в усіх споживачах цього шаблону.
|
|
16
16
|
|
|
17
17
|
## Поведінка
|
|
18
18
|
|
|
19
|
-
1. `patterns`
|
|
20
|
-
2. `
|
|
21
|
-
3. `
|
|
22
|
-
4.
|
|
19
|
+
1. `patterns` задає один канонічний сценарій вирівнювання спільних VS Code-налаштувань у консюмер-репо з корпоративним шаблоном для `settings.json`.
|
|
20
|
+
2. Якщо цільовий `settings.json` відсутній, він створюється на основі канонічного шаблону.
|
|
21
|
+
3. Якщо `settings.json` уже існує, з нього зберігаються всі значення поза шаблоном, а канонічні налаштування концерну мають пріоритет і доповнюють або оновлюють спільну конфігурацію.
|
|
22
|
+
4. Це гарантує, що репозиторії отримують однакову базову поведінку VS Code без втрати локальних несуперечливих налаштувань.
|
|
23
|
+
|
|
24
|
+
## Публічний API
|
|
25
|
+
|
|
26
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
27
|
+
`.vscode/settings.json` консюмер-репо — відсутні ключі додаються, канонічні
|
|
28
|
+
значення мають пріоритет, ключі поза шаблоном не чіпаються; якщо файлу
|
|
29
|
+
немає — створюється зі snippet-а.
|
|
23
30
|
|
|
24
31
|
## Гарантії поведінки
|
|
25
32
|
|
|
26
|
-
-
|
|
33
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну vscode_settings: приводить спільні налаштування VS Code
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.vscode/settings.json` консюмер-репо — відсутні ключі додаються, канонічні
|
|
10
|
+
* значення мають пріоритет, ключі поза шаблоном не чіпаються; якщо файлу
|
|
11
|
+
* немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [
|
|
4
14
|
createTemplateFixPattern({ id: 'ga-vscode_settings-template', targetPath: '.vscode/settings.json' })
|
|
5
15
|
]
|
|
@@ -3,26 +3,31 @@ type: JS Module
|
|
|
3
3
|
title: fix-zizmor_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/ga/zizmor_yml/fix-zizmor_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 9892e20a
|
|
7
7
|
model: openai-codex/gpt-5.4-mini
|
|
8
8
|
tier: cloud-min
|
|
9
9
|
score: 100
|
|
10
|
-
issues: judge:inaccurate:0.98
|
|
11
10
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
12
11
|
---
|
|
13
12
|
|
|
14
13
|
## Огляд
|
|
15
14
|
|
|
16
|
-
`patterns`
|
|
15
|
+
`patterns` приводить `.github/zizmor.yml` до канонічного шаблону концерну для `zizmor`, щоб консюмер-репо залишалося узгодженим зі стандартизованим конфігом.
|
|
17
16
|
|
|
18
17
|
## Поведінка
|
|
19
18
|
|
|
20
|
-
1. `patterns`
|
|
21
|
-
2.
|
|
22
|
-
3.
|
|
23
|
-
4.
|
|
19
|
+
1. `patterns` визначає один детермінований шаблон для вирівнювання `.github/zizmor.yml` із канонічним концерновим конфігом.
|
|
20
|
+
2. Якщо цільовий файл відсутній, `patterns` ініціалізує його з канонічного snippet-а.
|
|
21
|
+
3. Якщо файл уже існує, `patterns` додає відсутні ключі та зберігає канонічні значення як пріоритетні.
|
|
22
|
+
4. `patterns` не чіпає коментарі й інші ключі поза шаблоном.
|
|
23
|
+
|
|
24
|
+
## Публічний API
|
|
25
|
+
|
|
26
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
27
|
+
`.github/zizmor.yml` консюмер-репо — відсутні ключі додаються, канонічні
|
|
28
|
+
значення мають пріоритет, коментарі й ключі поза шаблоном не чіпаються;
|
|
29
|
+
якщо файлу немає — створюється зі snippet-а.
|
|
24
30
|
|
|
25
31
|
## Гарантії поведінки
|
|
26
32
|
|
|
27
|
-
-
|
|
28
|
-
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
33
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну zizmor_yml: приводить конфіг сканера безпеки zizmor
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.github/zizmor.yml` консюмер-репо — відсутні ключі додаються, канонічні
|
|
10
|
+
* значення мають пріоритет, коментарі й ключі поза шаблоном не чіпаються;
|
|
11
|
+
* якщо файлу немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [createTemplateFixPattern({ id: 'ga-zizmor_yml-template', targetPath: '.github/zizmor.yml' })]
|
|
@@ -3,25 +3,33 @@ type: JS Module
|
|
|
3
3
|
title: fix-lint_js_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/js/lint_js_yml/fix-lint_js_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: e0152cf2
|
|
7
7
|
model: openai-codex/gpt-5.4-mini
|
|
8
|
+
tier: cloud-min
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:inaccurate:0.
|
|
10
|
+
issues: judge-refine:kept-original,judge:inaccurate:0.98
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
`patterns`
|
|
16
|
+
`patterns` приводить шлях `.github/workflows/lint-js.yml` до канонічного шаблону концерну, щоб workflow для js-лінту відповідав стандартному корпоративному оформленню.
|
|
16
17
|
|
|
17
18
|
## Поведінка
|
|
18
19
|
|
|
19
|
-
1. `patterns`
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
20
|
+
1. `patterns` задає єдиний канонічний сценарій виправлення для CI-workflow лінту js-домену в репозиторіях-консюмерах.
|
|
21
|
+
2. Він узгоджує `.github/workflows/lint-js.yml` із шаблоном концерну: додає відсутні частини, зберігає канонічні значення як пріоритетні та не змінює сторонні коментарі й ключі поза шаблоном.
|
|
22
|
+
3. Якщо цільового файлу немає, `patterns` ініціює його створення з канонічного snippet-а.
|
|
23
|
+
4. Під час застосування механізм свідомо обходить `.github` і `.git`, щоб не зачіпати службові області поза цим сценарієм.
|
|
24
|
+
|
|
25
|
+
## Публічний API
|
|
26
|
+
|
|
27
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
28
|
+
`.github/workflows/lint-js.yml` консюмер-репо — відсутні ключі додаються,
|
|
29
|
+
канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
30
|
+
чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
23
31
|
|
|
24
32
|
## Гарантії поведінки
|
|
25
33
|
|
|
26
|
-
-
|
|
34
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
27
35
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну lint_js_yml: приводить CI-workflow лінту js-домену
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.github/workflows/lint-js.yml` консюмер-репо — відсутні ключі додаються,
|
|
10
|
+
* канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
11
|
+
* чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [
|
|
4
14
|
createTemplateFixPattern({ id: 'js-lint_js_yml-template', targetPath: '.github/workflows/lint-js.yml' })
|
|
5
15
|
]
|
|
@@ -3,28 +3,33 @@ type: JS Module
|
|
|
3
3
|
title: fix-lint_k8s_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/k8s/lint_k8s_yml/fix-lint_k8s_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
7
|
-
model: openai-codex/gpt-5.
|
|
6
|
+
crc: e89c25eb
|
|
7
|
+
model: openai-codex/gpt-5.4-mini
|
|
8
|
+
tier: cloud-min
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:inaccurate:0.98
|
|
10
|
+
issues: judge-refine:kept-original,judge:inaccurate:0.98
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
Файл тримає канонічний сценарій оновлення CI workflow для лінту k8s-домену в consumer-репо, щоб `.github/workflows/lint-k8s.yml` приводився до шаблону концерну. Він існує, щоб звіряти workflow з канонічним snippet-ом концерну й застосовувати стандартний набір змін для цього сценарію, не виходячи за межі `.github` та `.git`.
|
|
16
17
|
|
|
17
18
|
## Поведінка
|
|
18
19
|
|
|
19
|
-
1. `patterns`
|
|
20
|
+
1. `patterns` задає єдиний канонічний сценарій виправлення для CI workflow лінту k8s-домену.
|
|
21
|
+
2. Під час застосування сценарію шаблон концерну зливається з `.github/workflows/lint-k8s.yml`: відсутні елементи додаються, а канонічні значення мають пріоритет.
|
|
22
|
+
3. Якщо цільового файлу немає, `patterns` ініціює його створення з канонічного snippet-а.
|
|
23
|
+
4. `patterns` навмисно не втручається в позатимплейтні ключі та коментарі, а також свідомо пропускає `.github` і `.git` як межі обробки.
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
## Публічний API
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
28
|
+
`.github/workflows/lint-k8s.yml` консюмер-репо — відсутні ключі додаються,
|
|
29
|
+
канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
30
|
+
чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
26
31
|
|
|
27
32
|
## Гарантії поведінки
|
|
28
33
|
|
|
29
|
-
-
|
|
34
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
30
35
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну lint_k8s_yml: приводить CI-workflow лінту k8s-домену
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.github/workflows/lint-k8s.yml` консюмер-репо — відсутні ключі додаються,
|
|
10
|
+
* канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
11
|
+
* чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [
|
|
4
14
|
createTemplateFixPattern({ id: 'k8s-lint_k8s_yml-template', targetPath: '.github/workflows/lint-k8s.yml' })
|
|
5
15
|
]
|
|
@@ -3,25 +3,35 @@ type: JS Module
|
|
|
3
3
|
title: fix-npm_publish_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/npm-module/npm_publish_yml/fix-npm_publish_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
7
|
-
model:
|
|
6
|
+
crc: b7913c3f
|
|
7
|
+
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
|
+
tier: local-min-retry
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:
|
|
10
|
+
issues: judge:error
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
Приводить конфігураційний файл `.github/workflows/npm-publish.yml` до канонічного шаблону концерну для забезпечення уніфікованого процесу публікації npm-пакетів у репозиторії-споживачі. Функція `patterns` забезпечує, що робочий процес включає необхідні параметри, при цьому ігноруючи каталоги `.github` та `.git`.
|
|
16
17
|
|
|
17
18
|
## Поведінка
|
|
18
19
|
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
20
|
+
1. Приводить робочий процес (workflow) публікації npm-пакета в консюмер-репо до канонічного шаблону концерну шляхом застосування детермінованого патерну.
|
|
21
|
+
2. Патерн працює з файлом `.github/workflows/npm-publish.yml`.
|
|
22
|
+
3. Відсутні ключі в файлі додаються, а канонічні значення мають пріоритет; коментарі та ключі поза шаблоном не змінюються.
|
|
23
|
+
4. Якщо вказаний файл не існує, він створюється на основі канонічного snippet-а.
|
|
24
|
+
5. Процес не перевіряє шляхи `.github` та `.git`.
|
|
25
|
+
6. Результат дії визначається масивом, експортованим через `patterns`.
|
|
26
|
+
|
|
27
|
+
## Публічний API
|
|
28
|
+
|
|
29
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
30
|
+
`.github/workflows/npm-publish.yml` консюмер-репо — відсутні ключі додаються,
|
|
31
|
+
канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
32
|
+
чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
23
33
|
|
|
24
34
|
## Гарантії поведінки
|
|
25
35
|
|
|
26
|
-
-
|
|
36
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
27
37
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: Directory Index
|
|
3
|
-
title:
|
|
4
|
-
resource:
|
|
3
|
+
title: plugins/ci-github/rules/npm-module/npm_publish_yml
|
|
4
|
+
resource: plugins/ci-github/rules/npm-module/npm_publish_yml/
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
| Файл | Тип |
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну npm_publish_yml: приводить workflow публікації npm-пакета
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.github/workflows/npm-publish.yml` консюмер-репо — відсутні ключі додаються,
|
|
10
|
+
* канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
11
|
+
* чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [
|
|
4
14
|
createTemplateFixPattern({
|
|
5
15
|
id: 'npm-module-npm_publish_yml-template',
|
|
@@ -3,25 +3,35 @@ type: JS Module
|
|
|
3
3
|
title: fix-lint_php_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/php/lint_php_yml/fix-lint_php_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
7
|
-
model:
|
|
6
|
+
crc: 0699f2b1
|
|
7
|
+
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
8
|
+
tier: local-min
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:
|
|
10
|
+
issues: judge:error
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
Приводить конфігурації CI-workflow для PHP-домену у консюмер-репозиторії до канонічного шаблону концерну `lint_php_yml`. Гарантує відповідність YAML-файлів лінту встановленому стандарту, додаючи відсутні ключі та застосовуючи канонічні значення, зберігаючи при цьому вихідні коментарі та ключі, що не входять до шаблону. Це забезпечує єдність збірки та лінтування в системі.
|
|
16
17
|
|
|
17
18
|
## Поведінка
|
|
18
19
|
|
|
19
|
-
1.
|
|
20
|
-
2. `patterns`
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
20
|
+
1. Перевіряє файли, що знаходяться у каталозі `.github/workflows/lint-php.yml`.
|
|
21
|
+
2. Використовує `patterns` для застосування канонічного шаблону концерну `lint_php_yml` до цільового файлу.
|
|
22
|
+
3. При застосуванні шаблону відсутні ключі додаються, а канонічні значення мають пріоритет.
|
|
23
|
+
4. Коментарі та ключі, які знаходяться поза шаблоном, залишаються без змін.
|
|
24
|
+
5. Якщо файл цільового шляху відсутній, він створюється на основі наданого snippet-а.
|
|
25
|
+
6. Ігнорує шляхи `.github` та `.git` під час перевірки.
|
|
26
|
+
|
|
27
|
+
## Публічний API
|
|
28
|
+
|
|
29
|
+
- patterns — Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
30
|
+
`.github/workflows/lint-php.yml` консюмер-репо — відсутні ключі додаються,
|
|
31
|
+
канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
32
|
+
чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
23
33
|
|
|
24
34
|
## Гарантії поведінки
|
|
25
35
|
|
|
26
|
-
-
|
|
36
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
27
37
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-фікс концерну lint_php_yml: приводить CI-workflow лінту php-домену
|
|
3
|
+
* у консюмер-репо до канонічного шаблону концерну.
|
|
4
|
+
*/
|
|
1
5
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Один детермінований патерн: deep-merge канонічного snippet-а концерну в
|
|
9
|
+
* `.github/workflows/lint-php.yml` консюмер-репо — відсутні ключі додаються,
|
|
10
|
+
* канонічні значення мають пріоритет, коментарі й ключі поза шаблоном не
|
|
11
|
+
* чіпаються; якщо файлу немає — створюється зі snippet-а.
|
|
12
|
+
*/
|
|
3
13
|
export const patterns = [
|
|
4
14
|
createTemplateFixPattern({ id: 'php-lint_php_yml-template', targetPath: '.github/workflows/lint-php.yml' })
|
|
5
15
|
]
|
|
@@ -3,24 +3,37 @@ type: JS Module
|
|
|
3
3
|
title: fix-lint_python_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/python/lint_python_yml/fix-lint_python_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
7
|
-
model: openai-codex/gpt-5.
|
|
6
|
+
crc: 525f6959
|
|
7
|
+
model: openai-codex/gpt-5.5
|
|
8
|
+
tier: cloud-avg
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:
|
|
10
|
+
issues: judge:error
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
Файл декларує автофікс для `python/lint_python_yml`: scaffold відсутнього `.github/workflows/lint-python.yml` з канонічного шаблону правила та `template-deep-merge` для наявного workflow. Він потрібен, щоб дописувати лише канонічні поля для Python lint у GitHub Actions і зберігати локальні налаштування проєкту.
|
|
17
|
+
|
|
18
|
+
Публічна точка входу: `patterns`. Свідомо пропущені шляхи: `.github`, `.git`. Власних операцій запису у файлі немає.
|
|
16
19
|
|
|
17
20
|
## Поведінка
|
|
18
21
|
|
|
19
|
-
1. `patterns`
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
1. `patterns` оголошує автофікс для правила `python/lint_python_yml`, щоб репозиторій отримував канонічний GitHub Actions workflow для Python lint.
|
|
23
|
+
|
|
24
|
+
2. Якщо `.github/workflows/lint-python.yml` відсутній, автофікс має створити його з шаблону правила.
|
|
25
|
+
|
|
26
|
+
3. Якщо workflow уже існує, автофікс має доповнити його лише канонічними полями правила, не прибираючи локальні налаштування проєкту.
|
|
27
|
+
|
|
28
|
+
4. Правило свідомо не обходить службові шляхи `.github` і `.git`, але працює з цільовим workflow-файлом як із винятком для підтримки потрібної CI-конфігурації.
|
|
29
|
+
|
|
30
|
+
5. Файл лише декларує поведінку автофікса через `patterns`; власних операцій запису не виконує.
|
|
31
|
+
|
|
32
|
+
## Публічний API
|
|
33
|
+
|
|
34
|
+
- patterns — Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-python.yml`.
|
|
22
35
|
|
|
23
36
|
## Гарантії поведінки
|
|
24
37
|
|
|
25
|
-
-
|
|
38
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
26
39
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-autofix концерну `python/lint_python_yml`: деклараційний template-deep-merge —
|
|
3
|
+
* scaffold відсутнього `.github/workflows/lint-python.yml` з канонічного шаблону правила або
|
|
4
|
+
* дописування в наявний файл лише канонічних полів (локальні — зберігаються).
|
|
5
|
+
*/
|
|
1
6
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
7
|
|
|
8
|
+
/** Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-python.yml`. */
|
|
3
9
|
export const patterns = [
|
|
4
10
|
createTemplateFixPattern({ id: 'python-lint_python_yml-template', targetPath: '.github/workflows/lint-python.yml' })
|
|
5
11
|
]
|
|
@@ -3,25 +3,35 @@ type: JS Module
|
|
|
3
3
|
title: fix-lint_rust_yml.mjs
|
|
4
4
|
resource: plugins/ci-github/rules/rust/lint_rust_yml/fix-lint_rust_yml.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
7
|
-
model: openai-codex/gpt-5.
|
|
6
|
+
crc: 4312b7ec
|
|
7
|
+
model: openai-codex/gpt-5.5
|
|
8
|
+
tier: cloud-avg
|
|
8
9
|
score: 100
|
|
9
|
-
issues: judge:inaccurate:0.99
|
|
10
|
+
issues: judge-refine:kept-original,judge:inaccurate:0.99
|
|
10
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
## Огляд
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
Файл описує T0-autofix для `rust/lint_rust_yml`: scaffold відсутнього `.github/workflows/lint-rust.yml` з канонічного шаблону правила або `template-deep-merge` канонічних полів у наявний workflow зі збереженням локальних налаштувань.
|
|
17
|
+
|
|
18
|
+
Публічна функція `patterns` декларує цю поведінку для правила. Обхід свідомо пропускає шляхи `.github` і `.git`, щоб не аналізувати службові директорії як джерела проєктного Rust-коду.
|
|
16
19
|
|
|
17
20
|
## Поведінка
|
|
18
21
|
|
|
19
|
-
1. `patterns`
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
1. `patterns` оголошує єдиний сценарій autofix для Rust lint workflow.
|
|
23
|
+
|
|
24
|
+
2. Сценарій створює відсутній `.github/workflows/lint-rust.yml` за канонічним шаблоном правила, щоб проєкт мав стандартну GitHub Actions перевірку Rust lint.
|
|
25
|
+
|
|
26
|
+
3. Якщо workflow уже існує, сценарій доповнює його лише канонічними полями, зберігаючи локальні налаштування проєкту.
|
|
27
|
+
|
|
28
|
+
4. Autofix свідомо не обходить службові шляхи `.github` і `.git` як звичайні цілі аналізу; `.github/workflows/lint-rust.yml` використовується лише як визначений цільовий workflow-файл.
|
|
29
|
+
|
|
30
|
+
## Публічний API
|
|
31
|
+
|
|
32
|
+
- patterns — Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-rust.yml`.
|
|
23
33
|
|
|
24
34
|
## Гарантії поведінки
|
|
25
35
|
|
|
26
|
-
-
|
|
36
|
+
- Власних операцій запису (ФС/БД) у файлі немає; виклики імпортованих модулів можуть писати.
|
|
27
37
|
- Свідомо пропускає шляхи: `.github`, `.git`.
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* T0-autofix концерну `rust/lint_rust_yml`: деклараційний template-deep-merge —
|
|
3
|
+
* scaffold відсутнього `.github/workflows/lint-rust.yml` з канонічного шаблону правила або
|
|
4
|
+
* дописування в наявний файл лише канонічних полів (локальні — зберігаються).
|
|
5
|
+
*/
|
|
1
6
|
import { createTemplateFixPattern } from '@7n/rules/scripts/lib/fix/template-deep-merge.mjs'
|
|
2
7
|
|
|
8
|
+
/** Фікс-патерни концерну: один template-deep-merge запис для `.github/workflows/lint-rust.yml`. */
|
|
3
9
|
export const patterns = [
|
|
4
10
|
createTemplateFixPattern({ id: 'rust-lint_rust_yml-template', targetPath: '.github/workflows/lint-rust.yml' })
|
|
5
11
|
]
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: Directory Index
|
|
3
|
-
title:
|
|
4
|
-
resource:
|
|
3
|
+
title: plugins/ci-github/rules/rust/toolchain_cache
|
|
4
|
+
resource: plugins/ci-github/rules/rust/toolchain_cache/
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# npm/rules/rust/toolchain_cache
|
|
8
|
-
|
|
9
7
|
| Файл | Тип |
|
|
10
8
|
| ------------------------------------------------- | --------- |
|
|
11
9
|
| [fix-toolchain_cache.mjs](fix-toolchain_cache.md) | JS Module |
|