Skip to content

fix(ci): bump @7n/rules-ci-github, drop stale kubescape drift - #25

Merged
vitaliytv merged 1 commit into
mainfrom
main-bump-rules-ci-github
Jul 27, 2026
Merged

fix(ci): bump @7n/rules-ci-github, drop stale kubescape drift#25
vitaliytv merged 1 commit into
mainfrom
main-bump-rules-ci-github

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Проблема

`ga/workflows` (actionlint/shellcheck) стабільно падав на CI з SC2086 у
`.github/workflows/lint-k8s.yml`, а спроба виправити (додати лапки навколо
`$GITHUB_PATH`) конфліктувала з іншим правилом того ж тулінгу —
`k8s/lint_k8s_yml` (canon-drift check), яке очікувало точний неквотований
вендорений шаблон. Обидва правила — з `@7n/rules`, конфліктували самі з собою.

Корінь

Канонічний шаблон (`lint-k8s.yml.snippet.yml` у `@7n/rules-ci-github`) уже
пофіксений: комітом, тегованим `@7n/rules-ci-github@1.9.1`, `$GITHUB_PATH`
там уже в лапках. Але `task` пінить `^1.9.0` — і lockfile так і застряг
на до-фіксовій версії. Тому локальний drift-check досі шукав старий рядок.

Зміна

  • `@7n/rules-ci-github`: `^1.9.0` → `^1.9.8` (latest 1.x — без стрибка на
    major `2.0.0`, щоб не тягнути зайвий ризик).
  • `lint-k8s.yml`: прибрано задубльований крок `Install kubescape` — коли
    я прогнав автофіксер локально під час діагностики, він додав нову
    квотовану копію кроку замість того щоб виправити наявний на місці,
    лишивши обидві версії в файлі. Зараз файл побайтово ідентичний
    канонічному шаблону.

Не в цьому PR

Бамп `@7n/rules-ci-github` через `--full` lint підтягнув купу непов'язаних
авто-фіксів по всьому репо (Vue-компоненти, докси, інші workflow-файли) —
усе це відкинуто з коміту, лишились тільки три файли вище.

Test plan

  • `bunx github-actionlint` — чисто
  • `npx @7n/rules lint` (delta) — `ga/workflows` про `lint-k8s.yml` більше
    не фігурує (лишається окрема, непов'язана `ga/workflows` знахідка про
    `lint-ga.yml`'s `pull_request.paths` — pre-existing, поза скоупом)

@7n/rules-ci-github 1.9.0 (vendored canon) still expected the OLD
unquoted `$GITHUB_PATH` in lint-k8s.yml's "Install kubescape" step;
1.9.1+ fixed the canonical template to quote it, but the version pin
here never followed. Result: actionlint/shellcheck (SC2086) and the
k8s/lint_k8s_yml canon-drift check permanently disagreed with each
other in CI, since the drift-check kept expecting the pre-fix string.

Bump to ^1.9.8 so the drift-check expects the already-quoted form
actionlint wants. The vendored auto-fixer duplicated the step instead
of patching it in place when reconciling the two — removed the
duplicate manually to match the upstream canonical snippet exactly.
@vitaliytv
vitaliytv merged commit f0d9b64 into main Jul 27, 2026
2 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant