Skip to content

ci: збирати всі шість wasm-гостей і ставити kubescape - #580

Merged
vitaliytv merged 1 commit into
mainfrom
fix/ci-build-all-wasm-guests
Aug 30, 2026
Merged

ci: збирати всі шість wasm-гостей і ставити kubescape#580
vitaliytv merged 1 commit into
mainfrom
fix/ci-build-all-wasm-guests

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Закриває 12 із 17 фейлів, через які main червоний. Усі дванадцять — структурно непрохідні в CI, не флейки.

Вісім: CI будував одного гостя з шести

Крок збірки був звужений фільтром до lang-js, з розлогим обґрунтуванням у комментарі. Обґрунтування застаріло: відтоді зʼявились гейти складу резолву — §2.88 (lang-php), §2.90 (ci-github), §2.91 (lang-rust, lang-python), §2.93 (lang-js) — і кожен вимагає свого зібраного компонента.

Гейт, доданий без свого входу, не «строгіший» — він декоративний. Саме ці пʼять сюїтів і тримали main червоним.

Два окремі кроки (plugin-lang-php, plugin-ci-github) прибрано як зайві: повний прогін build-wasm-plugins.mjs і будує, і стейджить у npm/wasm-plugins/, чого голий build.sh не робив.

Три: kubescape не ставився

k8s/manifests падає fail-closed без нього — тобто поводиться правильно, просто тула не було. tools ensure ставив лише kubeconform.

Перевірка

  • повна збірка шести гостей — 17 с (тепло, з rust-cache у CI буде порівнянно);
  • сім раніше червоних сюїтів — 524 passed, 0 failed.

Локально знадобився ще й свіжий rules-napi: перезібрані під контракт 4.0.0 гості проти застарілого аддона з node_modules дають type-checking export func describe. У CI цього розриву немає — аддон будується тим самим прогоном.

Разом із #578 (ranges) і #579 (дзеркала) це має закрити всі 17.

Дванадцять із сімнадцяти фейлів на main були структурно непрохідними в CI,
а не флейками.

Вісім — бо крок збірки був звужений фільтром до lang-js. Обґрунтування
звуження застаріло: відтоді зʼявились гейти складу резолву §2.88 (lang-php),
§2.90 (ci-github), §2.91 (lang-rust, lang-python), §2.93 (lang-js), і кожен
вимагає СВОГО зібраного компонента. Гейт, доданий без свого входу, не
строгіший — він декоративний.

Три — бо native-концерн k8s/manifests падає fail-closed без kubescape, а
`tools ensure` ставив лише kubeconform.

Два окремі кроки (plugin-lang-php, plugin-ci-github) прибрано: повний
прогін build-wasm-plugins.mjs і будує, і стейджить у npm/wasm-plugins/,
чого голий build.sh не робив.

Перевірено локально: повна збірка 6 гостей — 17 с; сім раніше червоних
сюїтів — 524 passed. Знадобився ще й свіжий rules-napi (гості під контракт
4.0.0 проти застарілого аддона з node_modules дають «type-checking export
func describe») — у CI цього розриву немає, аддон там будується тим же
прогоном.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv merged commit b21a4fa into main Aug 30, 2026
1 of 2 checks passed
@vitaliytv
vitaliytv deleted the fix/ci-build-all-wasm-guests branch August 30, 2026 10:40
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