feat(ci): sincroniza workflows com o template do tooling#7
Merged
Conversation
Os workflows do pns estavam desatualizados em relação ao template canônico do `tooling`. Isso causou três release cycles silenciosamente quebrados — o último (PR #6) nem disparou o `push` event nos Actions, possivelmente por divergência entre o `concurrency` config ou triggers que evoluíram. Mudanças trazidas do tooling: - `pnpm/action-setup@v4` → `@v5` em `_publish.yml` e `_release.yml` (Node.js 24, mesmo bump aplicado em PR #30 do tooling). - `_publish.yml` agora declara `environment: npm-publish`, que serve de human-in-the-loop gate (informacional se nenhum reviewer estiver configurado, bloqueante se houver). PR #31 do tooling adicionou isso como pattern do ecossistema. - `ci.yml` adota a forma documentada do orquestrador, com section comments e referência ao `.precisa.json` para customização por repo. - `publish-tag.yml`, `_checks.yml`, `doctor.yml`, `review.yml`: sincronizados byte-a-byte com o template. Customização específica do pns: `ci.yml` aponta `publish.packages` para `packages/pns-core` (o único publicável; `pns-archive` é privado).
3 tasks
rlueder
added a commit
that referenced
this pull request
May 13, 2026
O guard `require_package_changes: true` pulava o release sempre que um PR mexia apenas em `.github/**` ou na config (era o caso de PR #6 e #7). Como `@semantic-release/git` só commita o bump de versão de volta no `main` quando o release roda, três PRs (#3, #4, #5) materializaram tags git mas nunca chegaram a publicar no npm. Cada novo PR de config para arrumar isso era também guarded out. pns só tem um pacote publicável (`pns-core`); o overhead de release no-op sobre mudanças de workflow é insignificante, e o custo de release pulado silenciosamente é alto. Setando o input para `false` no call do \`_release.yml\`. Outros repos com vários pacotes publicáveis podem manter o guard ativo.
precisa-saude-release-bot Bot
pushed a commit
that referenced
this pull request
May 13, 2026
## [1.3.0](v1.2.0...v1.3.0) (2026-05-13) ### Features * **ci:** sincroniza workflows com o template do tooling ([#7](#7)) ([c9b5b55](c9b5b55)), closes [#6](#6) [#30](https://github.com/Precisa-Saude/pns/issues/30) [#31](https://github.com/Precisa-Saude/pns/issues/31) ### Bug Fixes * **ci:** adiciona .releaserc.cjs para que semantic-release commite o bump de versão ([#6](#6)) ([019e7ea](019e7ea)), closes [#3](#3) [#4](#4) [#5](#5) * **ci:** desabilita o guard require_package_changes no release job ([#8](#8)) ([27e287a](27e287a)), closes [#6](#6) [#7](#7) [#3](#3) [#4](#4) [#5](#5)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
Sincroniza byte-a-byte os 6 workflows reutilizáveis com o template canônico do `tooling`. O pns estava em uma versão antiga dos workflows; isso explica por que os release cycles vinham falhando silenciosamente desde o início.
Mudanças
Único trecho repo-específico: `ci.yml#publish.packages` aponta para `packages/pns-core`.
Por que como `feat:` e não `chore:`
Quero que esse merge dispare um release cycle real — o primeiro com a config completa (`.releaserc.cjs` do PR #6 + workflows atualizados). Vai bumpar para `1.3.0` (minor sobre `v1.2.0`) e publicar pela primeira vez no npm com a tabela Brasil já incluída.
Test plan