Skip to content

fix(ci): tag-mt-release.yml явно тригерить release-mt.yml - #12

Merged
vitaliytv merged 2 commits into
mainfrom
mt/fix-tag-release-token
Jul 27, 2026
Merged

fix(ci): tag-mt-release.yml явно тригерить release-mt.yml#12
vitaliytv merged 2 commits into
mainfrom
mt/fix-tag-release-token

Conversation

@vitaliytv

@vitaliytv vitaliytv commented Jul 27, 2026

Copy link
Copy Markdown
Member

Summary

Два реальні баги, знайдені живим тестом повної автоматики на релізі mt-v0.1.2 (перший реальний прогін tag-mt-release.yml після мерджу #11):

  1. tag-mt-release.yml не тригерив release-mt.yml. Push тега через GITHUB_TOKEN не породжує подію push: tags: для інших workflow (anti-recursion guard GH Actions). Фікс: явний gh workflow run release-mt.yml --ref <tag> одразу після push тега (permissions: actions: write).
  2. build-napi падав на musl-таргеті. x86_64-unknown-linux-musl за замовчуванням fully-static (crt-static) і не підтримує cdylib — а napi-аддон (.node) завжди динамічна бібліотека. Фікс: RUSTFLAGS: -C target-feature=-crt-static лише в кроці build-napi (CLI-білд той самий таргет навпаки обирав заради crt-static — не займаємо).

Test plan

🤖 Generated with Claude Code

vitaliytv and others added 2 commits July 27, 2026 15:58
…sion guard)

Живий тест на mt-v0.1.2 показав: push тега через GITHUB_TOKEN НЕ породжує
подію `push: tags:` для інших workflow — навмисний anti-recursion guard
GitHub Actions. release-mt.yml тому не запускався автоматично; довелось
тригерити вручну (gh workflow run --ref mt-v0.1.2).

Додано явний `gh workflow run release-mt.yml --ref <tag>` одразу після
push тега (permissions: actions: write) — замикає повний ланцюжок
merge → bump → tag → release без ручного втручання.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Другий реальний баг з того самого live-fire тесту (mt-v0.1.2):
build-napi для x86_64-unknown-linux-musl падав з "cannot produce cdylib
... does not support these crate types" — musl-таргет за замовчуванням
fully-static (crt-static), а .node napi-аддон — це завжди динамічна
бібліотека (dlopen з Node/Bun), яку статичний musl не підтримує.
CLI-бінарник (crates/mt) цей самий таргет навпаки обирав САМЕ заради
crt-static (без залежності від системного libc) — тож флаг вимикається
лише в кроці build-napi, не зачіпає збірку CLI.

Перевірено локально: `RUSTFLAGS="-C target-feature=-crt-static" cargo
zigbuild --release --target x86_64-unknown-linux-musl -p mt-napi` —
компілюється й лінкується чисто, результат — валідний ELF shared object
(macOS-нога build-napi в тому самому прогоні впала не через цю причину,
а через `fail-fast: true`, що скасував її після падіння musl-ноги).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv merged commit b91d492 into main Jul 27, 2026
1 of 4 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