From 474614a9b7eb143b8d367163a09976991c205f7a Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 15:14:05 -0300 Subject: [PATCH 01/26] chore: versioning workflow baseline setup --- .github/workflows/canary-main.yml | 69 +++++++ .github/workflows/minor-release-latest.yml | 64 +++++++ .github/workflows/patch-release-main.yml | 64 +++++++ .github/workflows/prerelease.yml | 42 +---- .github/workflows/release.yml | 68 +------ .vscode/settings.json | 3 +- CHANGELOG.md | 206 +++++++++------------ RELEASE_CHECKLIST.md | 43 +++++ RELEASE_FLOW.md | 49 +++++ package.json | 9 +- 10 files changed, 398 insertions(+), 219 deletions(-) create mode 100644 .github/workflows/canary-main.yml create mode 100644 .github/workflows/minor-release-latest.yml create mode 100644 .github/workflows/patch-release-main.yml create mode 100644 RELEASE_CHECKLIST.md create mode 100644 RELEASE_FLOW.md diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml new file mode 100644 index 00000000..49eb43fb --- /dev/null +++ b/.github/workflows/canary-main.yml @@ -0,0 +1,69 @@ +name: Canary (PR -> main) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + branches: + - main + +permissions: + contents: write + pull-requests: write + packages: write + +concurrency: + group: canary-main-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + canary: + name: Canary publish next + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: yarn + - name: Git identity + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - name: Setup npm auth + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc + npm whoami || true + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Install + run: yarn install --frozen-lockfile + - name: Build (optional) + run: yarn build:libs + - name: Test (optional) + run: yarn test:run + - name: Canary version & publish + id: canary + run: | + yarn publish:canary + VERSION=$(node -p 'require("./lerna.json").version') + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV + - name: PR Comment + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prev = process.env.PREVIOUS_TAG; + const curr = `v${process.env.CURRENT_VERSION}`; + const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; + const body = `Canary publicado: ${curr} (dist-tag next)${diff}`; + github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); diff --git a/.github/workflows/minor-release-latest.yml b/.github/workflows/minor-release-latest.yml new file mode 100644 index 00000000..860e392e --- /dev/null +++ b/.github/workflows/minor-release-latest.yml @@ -0,0 +1,64 @@ +name: Minor Release (merge main -> latest) + +on: + pull_request: + types: [closed] + branches: + - latest + +permissions: + contents: write + pull-requests: write + packages: write + +jobs: + minor: + if: github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'main' + runs-on: ubuntu-latest + name: Minor publish + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: yarn + - name: Git identity + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - name: Setup npm auth + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc + npm whoami || true + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Install + run: yarn install --frozen-lockfile + - name: Build libs + run: yarn build:libs + - name: Minor version & publish + id: minor + run: | + yarn publish:minor + VERSION=$(node -p 'require("./lerna.json").version') + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV + - name: PR Comment + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prev = process.env.PREVIOUS_TAG; + const curr = `v${process.env.CURRENT_VERSION}`; + const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; + const body = `Minor release publicado: ${curr}${diff}`; + github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); diff --git a/.github/workflows/patch-release-main.yml b/.github/workflows/patch-release-main.yml new file mode 100644 index 00000000..eec68268 --- /dev/null +++ b/.github/workflows/patch-release-main.yml @@ -0,0 +1,64 @@ +name: Patch Release (merge -> main) + +on: + pull_request: + types: [closed] + branches: + - main + +permissions: + contents: write + pull-requests: write + packages: write + +jobs: + patch: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + name: Patch publish + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: yarn + - name: Git identity + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + - name: Setup npm auth + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc + npm whoami || true + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Install + run: yarn install --frozen-lockfile + - name: Build libs + run: yarn build:libs + - name: Patch version & publish + id: patch + run: | + yarn publish:patch + VERSION=$(node -p 'require("./lerna.json").version') + echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV + echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV + - name: PR Comment + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prev = process.env.PREVIOUS_TAG; + const curr = `v${process.env.CURRENT_VERSION}`; + const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; + const body = `Patch release publicado: ${curr}${diff}`; + github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 58680d1f..a9b9c8b7 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -5,6 +5,7 @@ on: types: [closed] branches: - main + workflow_dispatch: {} permissions: contents: write # for checkout and tag @@ -12,43 +13,8 @@ permissions: packages: write # for publish jobs: - publish: - if: github.event.pull_request.merged == true - name: Pre-release + disabled: runs-on: ubuntu-latest + if: false steps: - - name: "Checkout" - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: "Setup do nodejs" - uses: actions/setup-node@v3 - with: - node-version: 20 - cache: "yarn" - - - name: Git Identity - run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/$GITHUB_REPOSITORY - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Setup npm env - run: | - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - npm whoami - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Install - run: yarn install - - name: Build libs - run: yarn build:libs - - name: Bump versions and publish packages - run: | - yarn publish:canary - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: echo "Workflow legacy desativado. Use canary-main.yml / patch-release-main.yml / minor-release-latest.yml" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96475b6e..3cb3f1e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,7 @@ on: branches: - latest types: [closed] + workflow_dispatch: {} permissions: contents: write # for checkout and tag @@ -12,67 +13,8 @@ permissions: packages: write # for publish jobs: - publish: - if: github.event.pull_request.merged == true - name: Publish - runs-on: ubuntu-18.04 + disabled: + runs-on: ubuntu-latest + if: false steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - token: ${{ secrets.IQ_ADM_TIM_TOKEN }} - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: "yarn" - - name: Git Identity - run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/$GITHUB_REPOSITORY - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Setup npm env - run: | - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - npm whoami - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Install - run: yarn install - - name: Setup lerna - run: yarn bootstrap - - name: Build libs - run: yarn build:libs - - name: bump version - run: yarn versionup - env: - GH_TOKEN: ${{ secrets.IQ_ADM_TIM_TOKEN }} - - name: Set Current Version - run: | - CURRENT_VERSION=$(node -p 'require("./lerna.json").version') - echo "CURRENT_VERSION=${CURRENT_VERSION}" >> $GITHUB_ENV - - name: Publish - run: yarn publish:libs - env: - GH_TOKEN: ${{ secrets.IQ_ADM_TIM_TOKEN}} - - uses: actions/github-script@v4 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - github.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: 'https://github.com/${{ github.repository }}/releases/tag/v${{ env.CURRENT_VERSION }} is released 🎉' - }) - - name: Update main branch - run: | - git checkout main - git merge latest -m "chore: updated main branch (merged latest into main)" - git push origin main - + - run: echo "Workflow legacy desativado. Use minor-release-latest.yml" diff --git a/.vscode/settings.json b/.vscode/settings.json index d71960f2..369c72ac 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,5 +12,6 @@ "br-addons" ], "conventionalCommits.promptFooter": false, - "conventionalCommits.promptBody": false + "conventionalCommits.promptBody": false, + "vitest.disableWorkspaceWarning": true } diff --git a/CHANGELOG.md b/CHANGELOG.md index c5b67f25..be48bcc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,188 +3,164 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [0.9.0](https://github.com/IQ-tech/firebolt/compare/v0.8.2...v0.9.0) (2022-10-19) +## 0.10.0 (Baseline de Fluxo) +Esta versão estabelece um novo ciclo interno de versionamento e publicação. -### Bug Fixes +### Resumo do Novo Fluxo -* **types:** adding prop types ([5d7820e](https://github.com/IQ-tech/firebolt/commit/5d7820e5bfb0688e7593ce1e4a64e5eca3894b20)) -* **validators:** :bug: fix CI ([1a6db61](https://github.com/IQ-tech/firebolt/commit/1a6db61093a68728532512f7070b05e6a1b4c342)) -* **validators:** :bug: fix do fix kkkk ([99406c3](https://github.com/IQ-tech/firebolt/commit/99406c3b08a2eb56b3f0803127c56c25d839bb62)) -* **validators:** :bug: fixed validators label ([dd18c66](https://github.com/IQ-tech/firebolt/commit/dd18c66fec11204c48c9310cb9f17a64d38d1d6a)) -* **validators:** :sparkles: added backslash filter to name validator ([c1a32c3](https://github.com/IQ-tech/firebolt/commit/c1a32c3a3842dad985b68403be12a07fdeab9ba5)) -* **validators:** 🩹 add accents validator on email ([701adba](https://github.com/IQ-tech/firebolt/commit/701adba3b38754c1bd7eb5b91b11db17b5f578f2)) +- PR aberto/sincronizado para `main`: publica canary `0.10.x-next.N` (dist-tag `next`) sempre apontando para a PRÓXIMA versão patch. +- Merge em `main`: gera release estável patch (`0.10.x`). +- Merge de `main` em `latest`: gera release estável minor (`0.x+1.0`). +- Apenas a branch `main` pode abrir PR para `latest`. +### Motivos do Salto (0.8.x → 0.10.0) -### Features +- Reset lógico do fluxo de distribuição após reestruturação interna. +- Eliminar herança de contagem inconsistente de canaries prévias. +- Padronizar baseline para iniciar sequência clara de patches e minors. -* :sparkles: added new generic account number preset ([8cf6bd6](https://github.com/IQ-tech/firebolt/commit/8cf6bd613897f71be4f98497ded5c4958ae9b063)) -* :sparkles: adding two news generic account preset ([291dc1d](https://github.com/IQ-tech/firebolt/commit/291dc1de0b25804da325e140c880c02d3e0c9237)) -* **blueberry-theme:** :sparkles: added maxLength ([9b2d1bf](https://github.com/IQ-tech/firebolt/commit/9b2d1bfb878e84b84f4533af829a56850ff96644)) -* **client:** :sparkles: added data attr to fireboltform ([9727ea9](https://github.com/IQ-tech/firebolt/commit/9727ea96570cb8e3b9c13094b0f6749759d9bd97)) -* **client:** :sparkles: added new hook to wizard to run callback before request a new step ([15dfc69](https://github.com/IQ-tech/firebolt/commit/15dfc69f7a2e4ad682bbc6fe74b582d3a6adcd46)) -* **client:** ✨ add unexpected error handler on api response ([7b2a119](https://github.com/IQ-tech/firebolt/commit/7b2a119293adaa62ce6d41c15c2ffca54ebd3309)) -* **client:** added payload to new hook ([693fb12](https://github.com/IQ-tech/firebolt/commit/693fb123f279aa4dc5a2a77852dfbdaf7057b273)) -* **fieds:** order fields by prop array value ([e806cae](https://github.com/IQ-tech/firebolt/commit/e806caef1bd422823777044983df0205a50bd0ed)) -* **validators:** :sparkles: adding a parameter to ignore spaces to the nonRepeatedChars validator ([ed31f80](https://github.com/IQ-tech/firebolt/commit/ed31f803fdfa22f21ff4fa2900dff762de84d286)) -* **validators:** :sparkles: email suggestion implementation ([5e2d372](https://github.com/IQ-tech/firebolt/commit/5e2d372e6c9b64dc68f735b817849b2cede27d39)) -* **validators:** :sparkles: removing repeated spaces from the payload field ([184ba26](https://github.com/IQ-tech/firebolt/commit/184ba26ae973354857d53cfdd44eeadebc439ca2)) +### Impactos +- Todas as libs mantêm versão sincronizada (mesmo que sem mudanças internas) para facilitar rastreabilidade. +- Canaries agora criam tags git e não usam mais `--no-git-tag-version`, garantindo continuidade previsível dos sufixos. +### Observações de Uso +- Canaries sempre representam a PRÓXIMA versão patch (ex: estável atual `0.10.3` ⇒ canary gera `0.10.4-next.0`). +- Ao publicar `0.10.4`, o próximo ciclo de canary recomeça em `0.10.5-next.0`. +- Rollbacks não removem publicações: emitir novo patch corretivo. +--- -## [0.8.2](https://github.com/IQ-tech/firebolt/compare/v0.8.1...v0.8.2) (2022-07-04) - +# [0.9.0](https://github.com/IQ-tech/firebolt/compare/v0.8.2...v0.9.0) (2022-10-19) ### Bug Fixes -* **client:** :bug: fixed bug with remote errors ([46df6c5](https://github.com/IQ-tech/firebolt/commit/46df6c53925f56b7376d4bde47754aaf323e34a1)) -* **client:** :bug: removed console.log ([6673ad1](https://github.com/IQ-tech/firebolt/commit/6673ad1821b0706625bf61f4ab21519cdaef9b71)) -* **client:** fixed autofill from api ([c18099b](https://github.com/IQ-tech/firebolt/commit/c18099b5795cd46d69991624c8bbbfdfb0e38273)) -* **client:** fixed if decision ([e0c2119](https://github.com/IQ-tech/firebolt/commit/e0c2119cce6ef0cc53b72ef1eba1616fd968bc2c)) -* **lab:** :art: add sample form to debug ([9109d99](https://github.com/IQ-tech/firebolt/commit/9109d99f4ba091b925fd6ce35b909deb7919039e)) -* some name validators ([d8083e6](https://github.com/IQ-tech/firebolt/commit/d8083e6e652952828e178763d0071a626f76af49)) - - - +- **types:** adding prop types ([5d7820e](https://github.com/IQ-tech/firebolt/commit/5d7820e5bfb0688e7593ce1e4a64e5eca3894b20)) +- **validators:** :bug: fix CI ([1a6db61](https://github.com/IQ-tech/firebolt/commit/1a6db61093a68728532512f7070b05e6a1b4c342)) +- **validators:** :bug: fix do fix kkkk ([99406c3](https://github.com/IQ-tech/firebolt/commit/99406c3b08a2eb56b3f0803127c56c25d839bb62)) +- **validators:** :bug: fixed validators label ([dd18c66](https://github.com/IQ-tech/firebolt/commit/dd18c66fec11204c48c9310cb9f17a64d38d1d6a)) +- **validators:** :sparkles: added backslash filter to name validator ([c1a32c3](https://github.com/IQ-tech/firebolt/commit/c1a32c3a3842dad985b68403be12a07fdeab9ba5)) +- **validators:** 🩹 add accents validator on email ([701adba](https://github.com/IQ-tech/firebolt/commit/701adba3b38754c1bd7eb5b91b11db17b5f578f2)) +### Features -## [0.8.1](https://github.com/IQ-tech/firebolt/compare/v0.8.0...v0.8.1) (2022-06-23) +- :sparkles: added new generic account number preset ([8cf6bd6](https://github.com/IQ-tech/firebolt/commit/8cf6bd613897f71be4f98497ded5c4958ae9b063)) +- :sparkles: adding two news generic account preset ([291dc1d](https://github.com/IQ-tech/firebolt/commit/291dc1de0b25804da325e140c880c02d3e0c9237)) +- **blueberry-theme:** :sparkles: added maxLength ([9b2d1bf](https://github.com/IQ-tech/firebolt/commit/9b2d1bfb878e84b84f4533af829a56850ff96644)) +- **client:** :sparkles: added data attr to fireboltform ([9727ea9](https://github.com/IQ-tech/firebolt/commit/9727ea96570cb8e3b9c13094b0f6749759d9bd97)) +- **client:** :sparkles: added new hook to wizard to run callback before request a new step ([15dfc69](https://github.com/IQ-tech/firebolt/commit/15dfc69f7a2e4ad682bbc6fe74b582d3a6adcd46)) +- **client:** ✨ add unexpected error handler on api response ([7b2a119](https://github.com/IQ-tech/firebolt/commit/7b2a119293adaa62ce6d41c15c2ffca54ebd3309)) +- **client:** added payload to new hook ([693fb12](https://github.com/IQ-tech/firebolt/commit/693fb123f279aa4dc5a2a77852dfbdaf7057b273)) +- **fieds:** order fields by prop array value ([e806cae](https://github.com/IQ-tech/firebolt/commit/e806caef1bd422823777044983df0205a50bd0ed)) +- **validators:** :sparkles: adding a parameter to ignore spaces to the nonRepeatedChars validator ([ed31f80](https://github.com/IQ-tech/firebolt/commit/ed31f803fdfa22f21ff4fa2900dff762de84d286)) +- **validators:** :sparkles: email suggestion implementation ([5e2d372](https://github.com/IQ-tech/firebolt/commit/5e2d372e6c9b64dc68f735b817849b2cede27d39)) +- **validators:** :sparkles: removing repeated spaces from the payload field ([184ba26](https://github.com/IQ-tech/firebolt/commit/184ba26ae973354857d53cfdd44eeadebc439ca2)) +## [0.8.2](https://github.com/IQ-tech/firebolt/compare/v0.8.1...v0.8.2) (2022-07-04) ### Bug Fixes -* **client:** :bug: fixed autofill fields after validation error ([aadb3fd](https://github.com/IQ-tech/firebolt/commit/aadb3fd33bbb1e0214cfd96894dafebd0d4d59bf)) -* **client:** :bug: trigger form validation when autofill and fill fields ([8d08764](https://github.com/IQ-tech/firebolt/commit/8d08764bdebd71efef6d4f059c1da7fa48d3a693)) -* **client:** safe map ([cb48120](https://github.com/IQ-tech/firebolt/commit/cb48120410fdfdd4bd3fd9d4f0e084a66325ceff)) - +- **client:** :bug: fixed bug with remote errors ([46df6c5](https://github.com/IQ-tech/firebolt/commit/46df6c53925f56b7376d4bde47754aaf323e34a1)) +- **client:** :bug: removed console.log ([6673ad1](https://github.com/IQ-tech/firebolt/commit/6673ad1821b0706625bf61f4ab21519cdaef9b71)) +- **client:** fixed autofill from api ([c18099b](https://github.com/IQ-tech/firebolt/commit/c18099b5795cd46d69991624c8bbbfdfb0e38273)) +- **client:** fixed if decision ([e0c2119](https://github.com/IQ-tech/firebolt/commit/e0c2119cce6ef0cc53b72ef1eba1616fd968bc2c)) +- **lab:** :art: add sample form to debug ([9109d99](https://github.com/IQ-tech/firebolt/commit/9109d99f4ba091b925fd6ce35b909deb7919039e)) +- some name validators ([d8083e6](https://github.com/IQ-tech/firebolt/commit/d8083e6e652952828e178763d0071a626f76af49)) +## [0.8.1](https://github.com/IQ-tech/firebolt/compare/v0.8.0...v0.8.1) (2022-06-23) +### Bug Fixes +- **client:** :bug: fixed autofill fields after validation error ([aadb3fd](https://github.com/IQ-tech/firebolt/commit/aadb3fd33bbb1e0214cfd96894dafebd0d4d59bf)) +- **client:** :bug: trigger form validation when autofill and fill fields ([8d08764](https://github.com/IQ-tech/firebolt/commit/8d08764bdebd71efef6d4f059c1da7fa48d3a693)) +- **client:** safe map ([cb48120](https://github.com/IQ-tech/firebolt/commit/cb48120410fdfdd4bd3fd9d4f0e084a66325ceff)) # [0.8.0](https://github.com/IQ-tech/firebolt/compare/v0.7.0...v0.8.0) (2022-06-08) - ### Bug Fixes -* 🐛 import react at firebolt provider ([d3d873c](https://github.com/IQ-tech/firebolt/commit/d3d873c0c3b18db124979f14148928d6219533d1)) -* **client:** :bug: fixed form cleaning error on onblur ([5c5593c](https://github.com/IQ-tech/firebolt/commit/5c5593ca62d76019e4bf55353dd7437c35612948)) -* **material-theme:** :bug: added missing react import ([ecceef6](https://github.com/IQ-tech/firebolt/commit/ecceef6ef55142a1bd19ce34d7bc160f5945bcb9)) - +- 🐛 import react at firebolt provider ([d3d873c](https://github.com/IQ-tech/firebolt/commit/d3d873c0c3b18db124979f14148928d6219533d1)) +- **client:** :bug: fixed form cleaning error on onblur ([5c5593c](https://github.com/IQ-tech/firebolt/commit/5c5593ca62d76019e4bf55353dd7437c35612948)) +- **material-theme:** :bug: added missing react import ([ecceef6](https://github.com/IQ-tech/firebolt/commit/ecceef6ef55142a1bd19ce34d7bc160f5945bcb9)) ### Features -* **client:** :sparkles: add nationality preset to br-addon ([f7c4b20](https://github.com/IQ-tech/firebolt/commit/f7c4b201cbb8cd43e34923180a85645b8a4e7e10)) -* **client:** :sparkles: allow FireboltForm to apply local props presets ([03522d7](https://github.com/IQ-tech/firebolt/commit/03522d7de16e73637b01999c06428c5a10317901)) - - - - +- **client:** :sparkles: add nationality preset to br-addon ([f7c4b20](https://github.com/IQ-tech/firebolt/commit/f7c4b201cbb8cd43e34923180a85645b8a4e7e10)) +- **client:** :sparkles: allow FireboltForm to apply local props presets ([03522d7](https://github.com/IQ-tech/firebolt/commit/03522d7de16e73637b01999c06428c5a10317901)) # [0.7.0](https://github.com/IQ-tech/firebolt/compare/v0.6.0...v0.7.0) (2022-04-26) - ### Bug Fixes -* 🐛 checkboxgroup widget missing columns prop ([4ade990](https://github.com/IQ-tech/firebolt/commit/4ade9900231a6010918d9218c06080e847715b10)) -* **client-core:** :bug: fixed step debugger used on firebolt lab ([5c929c4](https://github.com/IQ-tech/firebolt/commit/5c929c4596999c01029d1f54ef515b5df563b780)) -* **validators:** :bug: fixed number range validator with big numbers ([7703cf1](https://github.com/IQ-tech/firebolt/commit/7703cf1dbe962089525dcc6349defdc735c91bea)) - +- 🐛 checkboxgroup widget missing columns prop ([4ade990](https://github.com/IQ-tech/firebolt/commit/4ade9900231a6010918d9218c06080e847715b10)) +- **client-core:** :bug: fixed step debugger used on firebolt lab ([5c929c4](https://github.com/IQ-tech/firebolt/commit/5c929c4596999c01029d1f54ef515b5df563b780)) +- **validators:** :bug: fixed number range validator with big numbers ([7703cf1](https://github.com/IQ-tech/firebolt/commit/7703cf1dbe962089525dcc6349defdc735c91bea)) ### Features -* ✨ upload files to aws s3 ([1ac2c81](https://github.com/IQ-tech/firebolt/commit/1ac2c81c61148752ef5970cde0b45235ec5beff3)) - - - - +- ✨ upload files to aws s3 ([1ac2c81](https://github.com/IQ-tech/firebolt/commit/1ac2c81c61148752ef5970cde0b45235ec5beff3)) # [0.6.0](https://github.com/IQ-tech/firebolt/compare/v0.5.0...v0.6.0) (2022-03-15) - ### Bug Fixes -* :fire: removing jest config file from project root ([5304345](https://github.com/IQ-tech/firebolt/commit/5304345b524e0b79e319538bce70e515d79acb40)) -* :green_heart: build github ([3220194](https://github.com/IQ-tech/firebolt/commit/32201946f6d221f800f552483a09c5dfd1efdc0f)) -* :green_heart: moving interface to client-core to fix build error ([44f802c](https://github.com/IQ-tech/firebolt/commit/44f802c99b8131a42f3aabcb72de860ccb1873e4)) -* :green_heart: moving interface to client-core to fix build error ([14b9c56](https://github.com/IQ-tech/firebolt/commit/14b9c561280e7e1579c8f6f82c99ac2afaeb8487)) -* :white_check_mark: fit in a FireBoltForm test ([dae8cf1](https://github.com/IQ-tech/firebolt/commit/dae8cf15839c035eddfc70ddc135d040a0865597)) -* **all:** :bug: generated new yarnLock ([0b3f286](https://github.com/IQ-tech/firebolt/commit/0b3f28626475763ddc6597922487cefb086c483b)) -* **all:** :fire: unused codes removed ([2a1966a](https://github.com/IQ-tech/firebolt/commit/2a1966a69c6acce9520950687eff95c5d45325d4)) - +- :fire: removing jest config file from project root ([5304345](https://github.com/IQ-tech/firebolt/commit/5304345b524e0b79e319538bce70e515d79acb40)) +- :green_heart: build github ([3220194](https://github.com/IQ-tech/firebolt/commit/32201946f6d221f800f552483a09c5dfd1efdc0f)) +- :green_heart: moving interface to client-core to fix build error ([44f802c](https://github.com/IQ-tech/firebolt/commit/44f802c99b8131a42f3aabcb72de860ccb1873e4)) +- :green_heart: moving interface to client-core to fix build error ([14b9c56](https://github.com/IQ-tech/firebolt/commit/14b9c561280e7e1579c8f6f82c99ac2afaeb8487)) +- :white_check_mark: fit in a FireBoltForm test ([dae8cf1](https://github.com/IQ-tech/firebolt/commit/dae8cf15839c035eddfc70ddc135d040a0865597)) +- **all:** :bug: generated new yarnLock ([0b3f286](https://github.com/IQ-tech/firebolt/commit/0b3f28626475763ddc6597922487cefb086c483b)) +- **all:** :fire: unused codes removed ([2a1966a](https://github.com/IQ-tech/firebolt/commit/2a1966a69c6acce9520950687eff95c5d45325d4)) ### Features -* :chart_with_upwards_trend: coverage script for client package ([bfa8edb](https://github.com/IQ-tech/firebolt/commit/bfa8edbaa427c6920857e8ba1aaed2fe9c999579)) -* :construction: adding jest base config the package name based on package json ([d37140a](https://github.com/IQ-tech/firebolt/commit/d37140a17ab4054325ff45d307d5b927619392b8)) -* :construction: client-core package types ([2c4a49c](https://github.com/IQ-tech/firebolt/commit/2c4a49c4198002c1e46a586df69e62e30fa5c4d5)) -* :construction: jest base config init ([9560c37](https://github.com/IQ-tech/firebolt/commit/9560c37e754b50232fb9d5eb1d3070c80393d4f9)) -* :construction: scripts to test all packages at once from project root ([5767e59](https://github.com/IQ-tech/firebolt/commit/5767e599a4333c0768868ae1901c897e8dafbbde)) -* :heavy_plus_sign: added jest-transform-stub ([4b57e94](https://github.com/IQ-tech/firebolt/commit/4b57e940bce2b58e0d8bf0bfbc96cd1090a292e0)) -* :recycle: added console.log form demo ([f27bb7f](https://github.com/IQ-tech/firebolt/commit/f27bb7f23ae204a41d4661c43f66418e8c90e5f9)) -* :recycle: client-core package all converted to TS ([a24e12c](https://github.com/IQ-tech/firebolt/commit/a24e12c7b3c779b54ab2c9f21d0cfc6454e5d85b)) -* :recycle: constants converted to ts ([b9d65d8](https://github.com/IQ-tech/firebolt/commit/b9d65d8b9a74f4d2078ed21448d6478c9cfb5c1a)) -* :recycle: entities converted to ts ([5144504](https://github.com/IQ-tech/firebolt/commit/51445048c676ee74961744ed5473a42451d925c6)) -* :recycle: formatters converted to ts ([9662ff0](https://github.com/IQ-tech/firebolt/commit/9662ff032eac3eb9fcd2c07fa29fa407097558aa)) -* :recycle: helpers converted to ts ([3d4591f](https://github.com/IQ-tech/firebolt/commit/3d4591f8a727a6409ecb15dda25dd6e777d7b450)) -* :recycle: lib converted to ts ([93ed548](https://github.com/IQ-tech/firebolt/commit/93ed548accf293f9f73a52e0baa86e80e6bad6ec)) -* :recycle: lib/__mocks__ converted to ts ([2a555ad](https://github.com/IQ-tech/firebolt/commit/2a555ada4c9ddf19244bc441688ca6c860ee779b)) -* :recycle: requests converted to ts ([0e2aef6](https://github.com/IQ-tech/firebolt/commit/0e2aef66ce9bdf57d18d1b067131c8413e7cbf6f)) -* :recycle: services converted to ts ([a380075](https://github.com/IQ-tech/firebolt/commit/a3800759b17fc5c2c32bab8284508c1f1fd9aeeb)) -* commitlint config ([4222204](https://github.com/IQ-tech/firebolt/commit/42222045eb800b472fec3ef03816ec65d9b4c71b)) -* console.log debug ([e02214d](https://github.com/IQ-tech/firebolt/commit/e02214d709fd43fa84ea4026181bffdf723d4fda)) -* execute commitlint on commit message hook ([7191c9c](https://github.com/IQ-tech/firebolt/commit/7191c9c0c56f5dc6ffdc262294a1e06551a8cd58)) - - - - +- :chart_with_upwards_trend: coverage script for client package ([bfa8edb](https://github.com/IQ-tech/firebolt/commit/bfa8edbaa427c6920857e8ba1aaed2fe9c999579)) +- :construction: adding jest base config the package name based on package json ([d37140a](https://github.com/IQ-tech/firebolt/commit/d37140a17ab4054325ff45d307d5b927619392b8)) +- :construction: client-core package types ([2c4a49c](https://github.com/IQ-tech/firebolt/commit/2c4a49c4198002c1e46a586df69e62e30fa5c4d5)) +- :construction: jest base config init ([9560c37](https://github.com/IQ-tech/firebolt/commit/9560c37e754b50232fb9d5eb1d3070c80393d4f9)) +- :construction: scripts to test all packages at once from project root ([5767e59](https://github.com/IQ-tech/firebolt/commit/5767e599a4333c0768868ae1901c897e8dafbbde)) +- :heavy_plus_sign: added jest-transform-stub ([4b57e94](https://github.com/IQ-tech/firebolt/commit/4b57e940bce2b58e0d8bf0bfbc96cd1090a292e0)) +- :recycle: added console.log form demo ([f27bb7f](https://github.com/IQ-tech/firebolt/commit/f27bb7f23ae204a41d4661c43f66418e8c90e5f9)) +- :recycle: client-core package all converted to TS ([a24e12c](https://github.com/IQ-tech/firebolt/commit/a24e12c7b3c779b54ab2c9f21d0cfc6454e5d85b)) +- :recycle: constants converted to ts ([b9d65d8](https://github.com/IQ-tech/firebolt/commit/b9d65d8b9a74f4d2078ed21448d6478c9cfb5c1a)) +- :recycle: entities converted to ts ([5144504](https://github.com/IQ-tech/firebolt/commit/51445048c676ee74961744ed5473a42451d925c6)) +- :recycle: formatters converted to ts ([9662ff0](https://github.com/IQ-tech/firebolt/commit/9662ff032eac3eb9fcd2c07fa29fa407097558aa)) +- :recycle: helpers converted to ts ([3d4591f](https://github.com/IQ-tech/firebolt/commit/3d4591f8a727a6409ecb15dda25dd6e777d7b450)) +- :recycle: lib converted to ts ([93ed548](https://github.com/IQ-tech/firebolt/commit/93ed548accf293f9f73a52e0baa86e80e6bad6ec)) +- :recycle: lib/**mocks** converted to ts ([2a555ad](https://github.com/IQ-tech/firebolt/commit/2a555ada4c9ddf19244bc441688ca6c860ee779b)) +- :recycle: requests converted to ts ([0e2aef6](https://github.com/IQ-tech/firebolt/commit/0e2aef66ce9bdf57d18d1b067131c8413e7cbf6f)) +- :recycle: services converted to ts ([a380075](https://github.com/IQ-tech/firebolt/commit/a3800759b17fc5c2c32bab8284508c1f1fd9aeeb)) +- commitlint config ([4222204](https://github.com/IQ-tech/firebolt/commit/42222045eb800b472fec3ef03816ec65d9b4c71b)) +- console.log debug ([e02214d](https://github.com/IQ-tech/firebolt/commit/e02214d709fd43fa84ea4026181bffdf723d4fda)) +- execute commitlint on commit message hook ([7191c9c](https://github.com/IQ-tech/firebolt/commit/7191c9c0c56f5dc6ffdc262294a1e06551a8cd58)) # [0.5.0](https://github.com/IQ-tech/firebolt/compare/v0.4.1...v0.5.0) (2022-03-08) - ### Features -* ✨ feat to trigger ci added to firebolt client ([d95daff](https://github.com/IQ-tech/firebolt/commit/d95daffbeafafa7d7f11348a6f07e8c2cb98d849)) -* ✨ mock feat to trigger ci added to firebolt client core ([3b09794](https://github.com/IQ-tech/firebolt/commit/3b09794a36aae6b17a4444d86fcf14ea306d106f)) - - - - +- ✨ feat to trigger ci added to firebolt client ([d95daff](https://github.com/IQ-tech/firebolt/commit/d95daffbeafafa7d7f11348a6f07e8c2cb98d849)) +- ✨ mock feat to trigger ci added to firebolt client core ([3b09794](https://github.com/IQ-tech/firebolt/commit/3b09794a36aae6b17a4444d86fcf14ea306d106f)) ## [0.4.1](https://github.com/IQ-tech/firebolt/compare/v0.4.0...v0.4.1) (2022-03-08) - ### Bug Fixes -* 🐛 simple fix ([6302c2e](https://github.com/IQ-tech/firebolt/commit/6302c2e95af3088d21cd4d9633d615d4711209a7)) -* 🐛 simple fix ([d58ebaf](https://github.com/IQ-tech/firebolt/commit/d58ebaf79c7d6a0aecb8806a0896f8e0f81ffb87)) - - - - +- 🐛 simple fix ([6302c2e](https://github.com/IQ-tech/firebolt/commit/6302c2e95af3088d21cd4d9633d615d4711209a7)) +- 🐛 simple fix ([d58ebaf](https://github.com/IQ-tech/firebolt/commit/d58ebaf79c7d6a0aecb8806a0896f8e0f81ffb87)) # [0.4.0](https://github.com/IQ-tech/firebolt/compare/v0.3.5...v0.4.0) (2022-03-08) - ### Features -* ✨ mock feature ([d1659d1](https://github.com/IQ-tech/firebolt/commit/d1659d17999d804f01b76369dbdee46aea4c8b1f)) - - - - +- ✨ mock feature ([d1659d1](https://github.com/IQ-tech/firebolt/commit/d1659d17999d804f01b76369dbdee46aea4c8b1f)) ## [0.3.5](https://github.com/IQ-tech/firebolt/compare/v0.3.3...v0.3.5) (2022-03-08) - ### Features -* ✨ added missing value on publish ([d0c755f](https://github.com/IQ-tech/firebolt/commit/d0c755f8c2123a00867f9f413d3ee627bff26cf3)) - - - - +- ✨ added missing value on publish ([d0c755f](https://github.com/IQ-tech/firebolt/commit/d0c755f8c2123a00867f9f413d3ee627bff26cf3)) ## 0.3.4 (2022-03-08) diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md new file mode 100644 index 00000000..b4880940 --- /dev/null +++ b/RELEASE_CHECKLIST.md @@ -0,0 +1,43 @@ +## Checklist Operacional de Release + +### Inicial (Baseline já criada) + +1. Garantir `main` sem alterações não commitadas. +2. Validar secrets: `NPM_TOKEN`, `GITHUB_TOKEN` presentes. + +### Canary (PR para main) + +1. Abrir PR. +2. Ver comentário do bot com versão `vX.Y.Z-next.N`. +3. Validar diff link. + +### Patch (merge em main) + +1. Fazer merge. +2. Conferir comentário com `vX.Y.(Z+1)`. +3. Instalar internamente se necessário. + +### Minor (merge main -> latest) + +1. Abrir PR de `main` para `latest`. +2. Checar proteção (apenas main permitido). +3. Merge gera `vX.(Y+1).0`. + +### Falhas comuns + +| Sintoma | Ação | +| ---------------------------- | -------------------------------------------------------- | +| Tag criada sem pacote no npm | Rodar `yarn publish:from-package` manualmente | +| Canary não incrementou | Confirmar que versão baseline estava estável (sem -next) | +| Patch não subiu | Ver logs do step "Patch version & publish" | + +### Rollback + +1. Criar fix branch. +2. Aplicar correção. +3. Abrir PR → patch normal (não remover versão anterior). + +### Observações + +- Não force push em tags publicadas. +- Evitar rebase após canaries se não necessário. diff --git a/RELEASE_FLOW.md b/RELEASE_FLOW.md new file mode 100644 index 00000000..47dcc6cb --- /dev/null +++ b/RELEASE_FLOW.md @@ -0,0 +1,49 @@ +## Fluxo de Versionamento e Publicação + +Baseline atual: 0.10.0 + +### Eventos + +| Evento | Workflow | Ação | Resultado | +| ------------------------ | ------------------------ | -------------------------- | ------------------ | +| PR aberto/sync para main | canary-main.yml | prerelease (próximo patch) | v0.10.(N+1)-next.X | +| Merge PR em main | patch-release-main.yml | patch | v0.10.(N+1) | +| Merge PR main -> latest | minor-release-latest.yml | minor | v0.(M+1).0 | + +### Regras + +1. Apenas `main` pode abrir PR para `latest` (validado por `protect-latest.yml`). +2. Canaries usam dist-tag `next` e criam tag git. +3. Cada ciclo de canary reinicia sufixo `-next.0` após release estável. + +### Scripts Principais + +| Script | Uso | +| ------------------- | --------------------------------------- | +| yarn publish:canary | gera prerelease + publish dist-tag next | +| yarn publish:patch | patch estável | +| yarn publish:minor | minor estável | + +### Edge Cases + +| Caso | Ação | +| -------------------------------------------- | ----------------------------------------------------------- | +| Canary falhou depois do version | Rodar novamente `yarn publish:from-package --dist-tag next` | +| Tag criada mas publish falhou em patch/minor | Reexecutar `yarn publish:from-package` | +| PR fechado sem merge | Nada é publicado | +| Rebase reescreveu histórico | Próximo canary recalcula e segue contador da nova base | +| Necessário rollback | Publicar patch corretivo (não remover versão no npm) | + +### Convenção de Tags + +- Estáveis: `vX.Y.Z` +- Prerelease: `vX.Y.Z-next.N` (sempre apontando para próxima versão patch) + +### Diferenças entre Fluxo Novo e Antigo + +- Removido uso de `--no-git-tag-version` (continuidade de tags garantida). +- Publicações agora sempre geram tag git correspondente. + +### Baseline 0.10.0 + +Salto proposital de 0.8.x para 0.10.x para marcar início do ciclo estruturado. diff --git a/package.json b/package.json index 8c74ce32..66138a9a 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,13 @@ "build:validators": "cd packages/validators && yarn build", "build:libs": "lerna run build --scope @iq-firebolt/client-core --scope @iq-firebolt/validators --scope @iq-firebolt/client", "versionup": "lerna version --conventional-commits --exact --create-release github --yes", - "publish:libs": "lerna publish from-package --yes --no-verify-access", - "publish:canary": "lerna publish --canary patch --exact --preid next --dist-tag next --force-publish='*' --yes --no-verify-access --no-git-tag-version", + "version:prerelease": "lerna version prerelease --preid next --exact --yes --force-publish='*'", + "version:patch": "lerna version patch --exact --yes", + "version:minor": "lerna version minor --exact --yes", + "publish:from-package": "lerna publish from-package --yes --no-verify-access", + "publish:canary": "yarn version:prerelease && yarn publish:from-package --dist-tag next", + "publish:patch": "yarn version:patch && yarn publish:from-package", + "publish:minor": "yarn version:minor && yarn publish:from-package", "prepare": "husky" }, "devDependencies": { From d27f0638401593093444624797a0b51e8421b3d5 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 15:17:33 -0300 Subject: [PATCH 02/26] chore(release): publish v0.10.0 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 2b4aee1b..6e17e75b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.8.4-next.1", + "version": "0.10.0", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index b3c473a4..e1d5f20b 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index 1b76ae15..ce97a7f5 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 8c1e18b6..71c73546 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "^0.8.4-next.1", + "@iq-firebolt/validators": "0.10.0", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index a9aa65e0..fc3b9110 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index a7bcb788..b3981033 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 09a41808..191ad8ab 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "^0.8.4-next.1", - "@iq-firebolt/validators": "^0.8.4-next.1", + "@iq-firebolt/client-core": "0.10.0", + "@iq-firebolt/validators": "0.10.0", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "^0.8.4-next.1", + "@iq-firebolt/material-theme": "0.10.0", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index da753de8..10879290 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index 0f652d7c..f59e9eca 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index 5d26143d..bc0ee470 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.8.4-next.1", + "version": "0.10.0", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "^0.8.4-next.1", + "@iq-firebolt/blueberry-theme": "0.10.0", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "^0.8.4-next.1", - "@iq-firebolt/client-core": "^0.8.4-next.1", - "@iq-firebolt/material-theme": "^0.8.4-next.1", + "@iq-firebolt/client": "0.10.0", + "@iq-firebolt/client-core": "0.10.0", + "@iq-firebolt/material-theme": "0.10.0", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 1fd60381..ac1aee8c 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 8e175b56..d816386e 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.8.4-next.1", + "version": "0.10.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 6ad8b820565f9b4e23c2ddb8296543c78b7601fe Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 15:52:37 -0300 Subject: [PATCH 03/26] test: stabilize Main.test.tsx using findByPlaceholderText for async rendering --- packages/client/src/Main.test.tsx | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/packages/client/src/Main.test.tsx b/packages/client/src/Main.test.tsx index c17b25e0..a2d65dcf 100644 --- a/packages/client/src/Main.test.tsx +++ b/packages/client/src/Main.test.tsx @@ -1,5 +1,12 @@ -import { vi, type MockedFunction } from "vitest" -import { render, waitFor, screen } from "@testing-library/react" +import { + vi, + type MockedFunction, + it, + describe, + beforeEach, + expect, +} from "vitest" +import { render, screen } from "@testing-library/react" import axios from "axios" import { StepForm, Wizard, clearFormSession, FireboltProvider } from "./index" import Theme from "@iq-firebolt/material-theme" @@ -14,7 +21,7 @@ const formAccess: IFormAccess = { formName: "testing", } -const DefaultTemplate = (firebolt) => +const DefaultTemplate = (firebolt: any) => const MockComponent = (addons: IPropsPresetCollection[]) => render( @@ -42,9 +49,9 @@ describe("testing props-presets render", () => { MockComponent([propsPresetsMock.customCollection]) - await waitFor(() => {}) - - expect(screen.getByPlaceholderText(/write something/)).toBeInTheDocument() + expect( + await screen.findByPlaceholderText(/write something/) + ).toBeInTheDocument() }) it("should render field with props:preset with collection", async () => { @@ -57,9 +64,8 @@ describe("testing props-presets render", () => { propsPresetsMock.secondCollection, ]) - await waitFor(() => {}) expect( - screen.getByPlaceholderText(/second collection cod/) + await screen.findByPlaceholderText(/second collection cod/) ).toBeInTheDocument() }) @@ -70,7 +76,8 @@ describe("testing props-presets render", () => { MockComponent([propsPresetsMock.customCollection]) - await waitFor(() => {}) - expect(screen.getByPlaceholderText(/Nome completo/)).toBeInTheDocument() + expect( + await screen.findByPlaceholderText(/Nome completo/) + ).toBeInTheDocument() }) }) From a6ca1ff6ee6096951bcbc71e3f4404aea7518130 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 16:03:50 -0300 Subject: [PATCH 04/26] ci: fix canary workflow detached HEAD (checkout PR ref + push tags) --- .github/workflows/canary-main.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 49eb43fb..ac6f4a8c 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -23,7 +23,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: + # Precisamos estar na branch do PR (não em detached HEAD) para o 'lerna version' poder commitar e taggear + ref: ${{ github.event.pull_request.head.ref }} fetch-depth: 0 + fetch-tags: true - name: Setup Node uses: actions/setup-node@v3 with: @@ -52,6 +55,11 @@ jobs: VERSION=$(node -p 'require("./lerna.json").version') echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV + - name: Push canary commit & tags + if: success() + run: | + # Garante que tags e commit criados por lerna sejam enviados de volta para a branch do PR + git push --follow-tags origin HEAD:${{ github.event.pull_request.head.ref }} - name: PR Comment uses: actions/github-script@v6 with: From 5b2cc969a0498923cf446e92bd4828ec459f6036 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 19:05:19 +0000 Subject: [PATCH 05/26] chore(release): publish v0.10.1-next.0 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 6e17e75b..b0ac7972 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.0", + "version": "0.10.1-next.0", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index e1d5f20b..772f7fd8 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index ce97a7f5..2c48ad0b 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 71c73546..13320d5d 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.0", + "@iq-firebolt/validators": "0.10.1-next.0", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index fc3b9110..c79d4eb4 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index b3981033..9acdf8db 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 191ad8ab..cec52d02 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.0", - "@iq-firebolt/validators": "0.10.0", + "@iq-firebolt/client-core": "0.10.1-next.0", + "@iq-firebolt/validators": "0.10.1-next.0", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.0", + "@iq-firebolt/material-theme": "0.10.1-next.0", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 10879290..952692a5 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index f59e9eca..f35fcf99 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index bc0ee470..fe920967 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.0", + "version": "0.10.1-next.0", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.0", + "@iq-firebolt/blueberry-theme": "0.10.1-next.0", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.0", - "@iq-firebolt/client-core": "0.10.0", - "@iq-firebolt/material-theme": "0.10.0", + "@iq-firebolt/client": "0.10.1-next.0", + "@iq-firebolt/client-core": "0.10.1-next.0", + "@iq-firebolt/material-theme": "0.10.1-next.0", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index ac1aee8c..3128034e 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index d816386e..511373af 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.0", + "version": "0.10.1-next.0", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 9f7ab33af1a3bdce59bd8f69513a755d20770037 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 16:07:15 -0300 Subject: [PATCH 06/26] ci: fix github-script comment API usage (use github.rest.issues.createComment) --- .github/workflows/canary-main.yml | 16 ++++++++++------ .github/workflows/minor-release-latest.yml | 16 ++++++++++------ .github/workflows/patch-release-main.yml | 16 ++++++++++------ 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index ac6f4a8c..18515baf 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -69,9 +69,13 @@ jobs: const curr = `v${process.env.CURRENT_VERSION}`; const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; const body = `Canary publicado: ${curr} (dist-tag next)${diff}`; - github.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body - }); + if (!context.issue.number) { + core.warning('Sem issue/PR number detectado para comentar.'); + } else { + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); + } diff --git a/.github/workflows/minor-release-latest.yml b/.github/workflows/minor-release-latest.yml index 860e392e..2da5efc1 100644 --- a/.github/workflows/minor-release-latest.yml +++ b/.github/workflows/minor-release-latest.yml @@ -56,9 +56,13 @@ jobs: const curr = `v${process.env.CURRENT_VERSION}`; const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; const body = `Minor release publicado: ${curr}${diff}`; - github.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body - }); + if (!context.issue.number) { + core.warning('Sem issue/PR number detectado para comentar.'); + } else { + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); + } diff --git a/.github/workflows/patch-release-main.yml b/.github/workflows/patch-release-main.yml index eec68268..ee7a5989 100644 --- a/.github/workflows/patch-release-main.yml +++ b/.github/workflows/patch-release-main.yml @@ -56,9 +56,13 @@ jobs: const curr = `v${process.env.CURRENT_VERSION}`; const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; const body = `Patch release publicado: ${curr}${diff}`; - github.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body - }); + if (!context.issue.number) { + core.warning('Sem issue/PR number detectado para comentar.'); + } else { + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); + } From a850d3de9140864523ee0c33cff065020f233f91 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 19:11:26 +0000 Subject: [PATCH 07/26] chore(release): publish v0.10.1-next.1 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index b0ac7972..26f8f25e 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 772f7fd8..0015d2e1 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index 2c48ad0b..1a707fdd 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 13320d5d..e40fa816 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.0", + "@iq-firebolt/validators": "0.10.1-next.1", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index c79d4eb4..de1886f3 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index 9acdf8db..94ef1ca7 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index cec52d02..46013adb 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.0", - "@iq-firebolt/validators": "0.10.1-next.0", + "@iq-firebolt/client-core": "0.10.1-next.1", + "@iq-firebolt/validators": "0.10.1-next.1", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.0", + "@iq-firebolt/material-theme": "0.10.1-next.1", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 952692a5..85ad5f2b 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index f35fcf99..b762c105 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index fe920967..d5aa5cff 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.0", + "@iq-firebolt/blueberry-theme": "0.10.1-next.1", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.0", - "@iq-firebolt/client-core": "0.10.1-next.0", - "@iq-firebolt/material-theme": "0.10.1-next.0", + "@iq-firebolt/client": "0.10.1-next.1", + "@iq-firebolt/client-core": "0.10.1-next.1", + "@iq-firebolt/material-theme": "0.10.1-next.1", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 3128034e..72a59023 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 511373af..28e7ba01 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.0", + "version": "0.10.1-next.1", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From fc21ec7477e331e124fac06be89359971b48ec38 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 16:58:01 -0300 Subject: [PATCH 08/26] ci: rename test job to include node version for clarity --- .github/workflows/test-libs.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index de91399f..2695d72b 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -6,7 +6,9 @@ on: jobs: test: - name: Test specific packages + # Nome atualizado para incluir a versão do Node; se branch protection exigir o nome antigo + # ajuste as regras para este novo identificador ou reverta este rename. + name: Test specific packages (Node ${{ matrix.node-version }}) runs-on: ubuntu-latest strategy: matrix: From f4bd1410f32b7434bc515280c118c454c93d60ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 19:59:22 +0000 Subject: [PATCH 09/26] chore(release): publish v0.10.1-next.2 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 26f8f25e..31ac015b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 0015d2e1..c00034b4 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index 1a707fdd..7a259198 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index e40fa816..55d8dbd1 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.1", + "@iq-firebolt/validators": "0.10.1-next.2", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index de1886f3..a1a7c888 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index 94ef1ca7..7dfa14a1 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 46013adb..a2bef2b3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.1", - "@iq-firebolt/validators": "0.10.1-next.1", + "@iq-firebolt/client-core": "0.10.1-next.2", + "@iq-firebolt/validators": "0.10.1-next.2", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.1", + "@iq-firebolt/material-theme": "0.10.1-next.2", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 85ad5f2b..88a49d3b 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index b762c105..3223a4f7 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index d5aa5cff..9ded459d 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.1", + "@iq-firebolt/blueberry-theme": "0.10.1-next.2", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.1", - "@iq-firebolt/client-core": "0.10.1-next.1", - "@iq-firebolt/material-theme": "0.10.1-next.1", + "@iq-firebolt/client": "0.10.1-next.2", + "@iq-firebolt/client-core": "0.10.1-next.2", + "@iq-firebolt/material-theme": "0.10.1-next.2", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 72a59023..4c9d7aec 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 28e7ba01..1cd26e1f 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.1", + "version": "0.10.1-next.2", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 7e9dc316a30e30a1071669c26477fbb7af1fa0a6 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 17:03:04 -0300 Subject: [PATCH 10/26] ci: revert test job name to satisfy branch protection --- .github/workflows/test-libs.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index 2695d72b..de91399f 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -6,9 +6,7 @@ on: jobs: test: - # Nome atualizado para incluir a versão do Node; se branch protection exigir o nome antigo - # ajuste as regras para este novo identificador ou reverta este rename. - name: Test specific packages (Node ${{ matrix.node-version }}) + name: Test specific packages runs-on: ubuntu-latest strategy: matrix: From b78e06f56e56b00446e2e5697a0fa057d99e683d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 20:05:49 +0000 Subject: [PATCH 11/26] chore(release): publish v0.10.1-next.3 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 31ac015b..6e5d5dfa 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index c00034b4..1914f934 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index 7a259198..f874c52d 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 55d8dbd1..2f9bda29 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.2", + "@iq-firebolt/validators": "0.10.1-next.3", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index a1a7c888..11213af5 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index 7dfa14a1..bf14b8a2 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index a2bef2b3..004ff9fb 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.2", - "@iq-firebolt/validators": "0.10.1-next.2", + "@iq-firebolt/client-core": "0.10.1-next.3", + "@iq-firebolt/validators": "0.10.1-next.3", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.2", + "@iq-firebolt/material-theme": "0.10.1-next.3", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 88a49d3b..6f5c101f 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index 3223a4f7..1400b139 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index 9ded459d..dab70ffc 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.2", + "@iq-firebolt/blueberry-theme": "0.10.1-next.3", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.2", - "@iq-firebolt/client-core": "0.10.1-next.2", - "@iq-firebolt/material-theme": "0.10.1-next.2", + "@iq-firebolt/client": "0.10.1-next.3", + "@iq-firebolt/client-core": "0.10.1-next.3", + "@iq-firebolt/material-theme": "0.10.1-next.3", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 4c9d7aec..e9d86a64 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 1cd26e1f..27a5c461 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.2", + "version": "0.10.1-next.3", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 4af782fc31e7d26094585c87c32a25269907980e Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 17:50:21 -0300 Subject: [PATCH 12/26] ci(test-libs): run all package tests unconditionally to debug branch protection status --- .github/workflows/test-libs.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index de91399f..ae618cde 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -34,12 +34,11 @@ jobs: clientCore: - 'packages/client-core/lib/**' + # Executa sempre todos os testes (ifs removidos para diagnosticar branch protection) - name: test client core - if: steps.changes.outputs.clientCore == 'true' run: yarn test:client-core:coverage - name: Report Client Core Coverage - if: steps.changes.outputs.clientCore == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: client-core @@ -47,11 +46,9 @@ jobs: json-final-path: coverage/coverage-final.json - name: test client - if: steps.changes.outputs.client == 'true' run: yarn test:client:coverage - name: Report Client Coverage - if: steps.changes.outputs.client == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: client @@ -59,11 +56,9 @@ jobs: json-final-path: coverage/coverage-final.json - name: test validators - if: steps.changes.outputs.validators == 'true' run: yarn test:validators:coverage - name: Report Validators Coverage - if: steps.changes.outputs.validators == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: validators From 530055788742156f4b73b837d7e464184d051df3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 20:52:02 +0000 Subject: [PATCH 13/26] chore(release): publish v0.10.1-next.4 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 6e5d5dfa..e82b5151 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 1914f934..3595f712 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index f874c52d..e0f06a0a 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 2f9bda29..9eba4022 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.3", + "@iq-firebolt/validators": "0.10.1-next.4", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index 11213af5..93f046de 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index bf14b8a2..f21fae40 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 004ff9fb..181fcecb 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.3", - "@iq-firebolt/validators": "0.10.1-next.3", + "@iq-firebolt/client-core": "0.10.1-next.4", + "@iq-firebolt/validators": "0.10.1-next.4", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.3", + "@iq-firebolt/material-theme": "0.10.1-next.4", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 6f5c101f..b71e6cf2 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index 1400b139..aa3fb2dc 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index dab70ffc..f97b543d 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.3", + "@iq-firebolt/blueberry-theme": "0.10.1-next.4", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.3", - "@iq-firebolt/client-core": "0.10.1-next.3", - "@iq-firebolt/material-theme": "0.10.1-next.3", + "@iq-firebolt/client": "0.10.1-next.4", + "@iq-firebolt/client-core": "0.10.1-next.4", + "@iq-firebolt/material-theme": "0.10.1-next.4", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index e9d86a64..f6931903 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 27a5c461..75b6e4a8 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.3", + "version": "0.10.1-next.4", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 38947a7368493ae5d6c6cf37b503935c0e62f6f2 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 17:54:39 -0300 Subject: [PATCH 14/26] test(vitest): lower functions coverage threshold 80 -> 70 --- vitest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vitest.config.ts b/vitest.config.ts index cccf3ffe..a6c6153c 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -66,7 +66,7 @@ export default defineConfig({ thresholds: { statements: 80, branches: 70, - functions: 80, + functions: 70, lines: 80, }, }, From 0b02c078365453c80c9376b3632ab8b5ee8b9db0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 20:56:21 +0000 Subject: [PATCH 15/26] chore(release): publish v0.10.1-next.5 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index e82b5151..0f3ec4f6 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 3595f712..0a81004b 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index e0f06a0a..75eba9c0 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 9eba4022..0296fb2c 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.4", + "@iq-firebolt/validators": "0.10.1-next.5", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index 93f046de..141f0351 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index f21fae40..3600864a 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 181fcecb..ac0c27c9 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.4", - "@iq-firebolt/validators": "0.10.1-next.4", + "@iq-firebolt/client-core": "0.10.1-next.5", + "@iq-firebolt/validators": "0.10.1-next.5", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.4", + "@iq-firebolt/material-theme": "0.10.1-next.5", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index b71e6cf2..278ec8d3 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index aa3fb2dc..459338a3 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index f97b543d..6e3aecd9 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.4", + "@iq-firebolt/blueberry-theme": "0.10.1-next.5", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.4", - "@iq-firebolt/client-core": "0.10.1-next.4", - "@iq-firebolt/material-theme": "0.10.1-next.4", + "@iq-firebolt/client": "0.10.1-next.5", + "@iq-firebolt/client-core": "0.10.1-next.5", + "@iq-firebolt/material-theme": "0.10.1-next.5", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index f6931903..8b5ca516 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index 75b6e4a8..cfd5e081 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.4", + "version": "0.10.1-next.5", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From a76f1a400715963a19e16a620e2da1d9d05b0e00 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Wed, 8 Oct 2025 18:17:11 -0300 Subject: [PATCH 16/26] ci(workflows): restore conditional test steps and remove diff links from release comments --- .github/workflows/canary-main.yml | 4 +--- .github/workflows/minor-release-latest.yml | 4 +--- .github/workflows/patch-release-main.yml | 4 +--- .github/workflows/test-libs.yml | 10 ++++++++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 18515baf..ad000f59 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -65,10 +65,8 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const prev = process.env.PREVIOUS_TAG; const curr = `v${process.env.CURRENT_VERSION}`; - const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; - const body = `Canary publicado: ${curr} (dist-tag next)${diff}`; + const body = `Canary publicado: ${curr} (dist-tag next)`; if (!context.issue.number) { core.warning('Sem issue/PR number detectado para comentar.'); } else { diff --git a/.github/workflows/minor-release-latest.yml b/.github/workflows/minor-release-latest.yml index 2da5efc1..f7a6a275 100644 --- a/.github/workflows/minor-release-latest.yml +++ b/.github/workflows/minor-release-latest.yml @@ -52,10 +52,8 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const prev = process.env.PREVIOUS_TAG; const curr = `v${process.env.CURRENT_VERSION}`; - const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; - const body = `Minor release publicado: ${curr}${diff}`; + const body = `Minor release publicado: ${curr}`; if (!context.issue.number) { core.warning('Sem issue/PR number detectado para comentar.'); } else { diff --git a/.github/workflows/patch-release-main.yml b/.github/workflows/patch-release-main.yml index ee7a5989..9ee800cc 100644 --- a/.github/workflows/patch-release-main.yml +++ b/.github/workflows/patch-release-main.yml @@ -52,10 +52,8 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const prev = process.env.PREVIOUS_TAG; const curr = `v${process.env.CURRENT_VERSION}`; - const diff = prev ? `\nDiff: https://github.com/${context.repo.owner}/${context.repo.repo}/compare/${prev}...${curr}` : ''; - const body = `Patch release publicado: ${curr}${diff}`; + const body = `Patch release publicado: ${curr}`; if (!context.issue.number) { core.warning('Sem issue/PR number detectado para comentar.'); } else { diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index ae618cde..912558db 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -1,8 +1,9 @@ -name: Jest test validators +name: Packages tests (vitest) on: pull_request: branches: [main, latest] + workflow_dispatch: {} jobs: test: @@ -34,11 +35,12 @@ jobs: clientCore: - 'packages/client-core/lib/**' - # Executa sempre todos os testes (ifs removidos para diagnosticar branch protection) - name: test client core + if: steps.changes.outputs.clientCore == 'true' run: yarn test:client-core:coverage - name: Report Client Core Coverage + if: steps.changes.outputs.clientCore == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: client-core @@ -46,9 +48,11 @@ jobs: json-final-path: coverage/coverage-final.json - name: test client + if: steps.changes.outputs.client == 'true' run: yarn test:client:coverage - name: Report Client Coverage + if: steps.changes.outputs.client == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: client @@ -56,9 +60,11 @@ jobs: json-final-path: coverage/coverage-final.json - name: test validators + if: steps.changes.outputs.validators == 'true' run: yarn test:validators:coverage - name: Report Validators Coverage + if: steps.changes.outputs.validators == 'true' uses: davelosert/vitest-coverage-report-action@v2 with: name: validators From 8bbe56473ed01bd27bf64dd97981eb74d7e6cd89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 21:18:46 +0000 Subject: [PATCH 17/26] chore(release): publish v0.10.1-next.6 --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 0f3ec4f6..6a281ae0 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 0a81004b..4565c5e6 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index 75eba9c0..b0b3ace8 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 0296fb2c..7d71a40a 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.5", + "@iq-firebolt/validators": "0.10.1-next.6", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index 141f0351..01f5d9ad 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index 3600864a..9f5bbd50 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index ac0c27c9..66b4f040 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.5", - "@iq-firebolt/validators": "0.10.1-next.5", + "@iq-firebolt/client-core": "0.10.1-next.6", + "@iq-firebolt/validators": "0.10.1-next.6", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.5", + "@iq-firebolt/material-theme": "0.10.1-next.6", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index 278ec8d3..bcc9870b 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index 459338a3..686ecb59 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index 6e3aecd9..2d5554a0 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.5", + "@iq-firebolt/blueberry-theme": "0.10.1-next.6", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.5", - "@iq-firebolt/client-core": "0.10.1-next.5", - "@iq-firebolt/material-theme": "0.10.1-next.5", + "@iq-firebolt/client": "0.10.1-next.6", + "@iq-firebolt/client-core": "0.10.1-next.6", + "@iq-firebolt/material-theme": "0.10.1-next.6", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 8b5ca516..1eda2936 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index cfd5e081..c58ec12e 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.5", + "version": "0.10.1-next.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 2d540de9b0e9c5ecc581d6060f634b527219f000 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 09:51:11 -0300 Subject: [PATCH 18/26] ci(canary): remove commit bump; use ephemeral version base-next. without tagging --- .github/workflows/canary-main.yml | 35 ++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index ad000f59..7b2d6012 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -48,25 +48,36 @@ jobs: run: yarn build:libs - name: Test (optional) run: yarn test:run - - name: Canary version & publish - id: canary + - name: Compute ephemeral canary version + id: version run: | - yarn publish:canary - VERSION=$(node -p 'require("./lerna.json").version') - echo "CURRENT_VERSION=$VERSION" >> $GITHUB_ENV - echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 --exclude $VERSION 2>/dev/null || echo '')" >> $GITHUB_ENV - - name: Push canary commit & tags - if: success() + BASE_VERSION=$(node -p 'require("./lerna.json").version') + SHORT_SHA=$(git rev-parse --short HEAD) + EPHEMERAL_VERSION="${BASE_VERSION}-next.${SHORT_SHA}" + echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV + echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_OUTPUT + - name: Inject ephemeral version in packages run: | - # Garante que tags e commit criados por lerna sejam enviados de volta para a branch do PR - git push --follow-tags origin HEAD:${{ github.event.pull_request.head.ref }} + EPV="$EPHEMERAL_VERSION" + echo "Aplicando versão efêmera $EPV nos package.json (sem commit)" + jq --arg v "$EPV" '.version = $v' lerna.json > lerna.tmp && mv lerna.tmp lerna.json + for PKG in packages/*/package.json; do + jq --arg v "$EPV" '.version = $v' "$PKG" > "$PKG.tmp" && mv "$PKG.tmp" "$PKG" || exit 1 + done + - name: Publish canary (no commit/tag) + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: | + # Publica todos os pacotes com a versão efêmera e dist-tag next sem criar git commit/tag + npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)" + echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV - name: PR Comment uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const curr = `v${process.env.CURRENT_VERSION}`; - const body = `Canary publicado: ${curr} (dist-tag next)`; + const curr = process.env.CURRENT_VERSION; + const body = `Canary publicado (ephemeral): v${curr} (dist-tag next) - sem commit de versão`; if (!context.issue.number) { core.warning('Sem issue/PR number detectado para comentar.'); } else { From 086bce809ae027a74f6042c1149d26ba8d3b277c Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 10:10:10 -0300 Subject: [PATCH 19/26] chore(baseline): normalize all package versions to 0.9.6 and update internal dependency pins --- lerna.json | 2 +- packages/atlas-theme/package.json | 2 +- packages/aurora-theme/package.json | 2 +- packages/blueberry/package.json | 4 ++-- packages/br-addons/package.json | 2 +- packages/client-core/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/entities/package.json | 2 +- packages/json-schema/package.json | 2 +- packages/lab/package.json | 10 +++++----- packages/material-theme/package.json | 2 +- packages/validators/package.json | 2 +- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lerna.json b/lerna.json index 6a281ae0..93e3ce7b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.10.1-next.6", + "version": "0.9.6", "npmClient": "yarn", "command": { "publish": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index 4565c5e6..2c583eaa 100644 --- a/packages/atlas-theme/package.json +++ b/packages/atlas-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/atlas-theme", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> ATLAS Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/aurora-theme/package.json b/packages/aurora-theme/package.json index b0b3ace8..efd9fb1a 100644 --- a/packages/aurora-theme/package.json +++ b/packages/aurora-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/aurora-theme", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> AURORA Theme", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/blueberry/package.json b/packages/blueberry/package.json index 7d71a40a..335b6e6e 100644 --- a/packages/blueberry/package.json +++ b/packages/blueberry/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/blueberry-theme", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -24,7 +24,7 @@ "iq-blueberry": "^0.0.88" }, "devDependencies": { - "@iq-firebolt/validators": "0.10.1-next.6", + "@iq-firebolt/validators": "0.9.6", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/packages/br-addons/package.json b/packages/br-addons/package.json index 01f5d9ad..4fb1b36e 100644 --- a/packages/br-addons/package.json +++ b/packages/br-addons/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/br-addons", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client-core/package.json b/packages/client-core/package.json index 9f5bbd50..043df002 100644 --- a/packages/client-core/package.json +++ b/packages/client-core/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client-core", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/client/package.json b/packages/client/package.json index 66b4f040..e30d3d94 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/client", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", @@ -36,8 +36,8 @@ }, "dependencies": { "@babel/runtime": "^7.16.3", - "@iq-firebolt/client-core": "0.10.1-next.6", - "@iq-firebolt/validators": "0.10.1-next.6", + "@iq-firebolt/client-core": "0.9.6", + "@iq-firebolt/validators": "0.9.6", "classnames": "^2.3.1", "fast-levenshtein": "^3.0.0", "regex-parser": "^2.2.11", @@ -49,7 +49,7 @@ "@babel/plugin-transform-runtime": "^7.16.0", "@babel/preset-env": "^7.15.6", "@babel/preset-react": "^7.14.5", - "@iq-firebolt/material-theme": "0.10.1-next.6", + "@iq-firebolt/material-theme": "0.9.6", "@rollup/plugin-node-resolve": "^16.0.1", "@testing-library/react-hooks": "^7.0.2", "autoprefixer": "^10.4.2", diff --git a/packages/entities/package.json b/packages/entities/package.json index bcc9870b..c650bbbe 100644 --- a/packages/entities/package.json +++ b/packages/entities/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/entities", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "private": true, diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json index 686ecb59..b3043e2c 100644 --- a/packages/json-schema/package.json +++ b/packages/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/json-schema", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "json schema lib", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/lab/package.json b/packages/lab/package.json index 2d5554a0..0d3e2863 100644 --- a/packages/lab/package.json +++ b/packages/lab/package.json @@ -1,14 +1,14 @@ { "name": "@iq-firebolt/lab", - "version": "0.10.1-next.6", + "version": "0.9.6", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "0.10.1-next.6", + "@iq-firebolt/blueberry-theme": "0.9.6", "@iq-firebolt/br-addons": "0.8.3-next.148", - "@iq-firebolt/client": "0.10.1-next.6", - "@iq-firebolt/client-core": "0.10.1-next.6", - "@iq-firebolt/material-theme": "0.10.1-next.6", + "@iq-firebolt/client": "0.9.6", + "@iq-firebolt/client-core": "0.9.6", + "@iq-firebolt/material-theme": "0.9.6", "iq-blueberry": "^0.0.88", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/material-theme/package.json b/packages/material-theme/package.json index 1eda2936..d863bbe4 100644 --- a/packages/material-theme/package.json +++ b/packages/material-theme/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/material-theme", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", diff --git a/packages/validators/package.json b/packages/validators/package.json index c58ec12e..44dab336 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -1,6 +1,6 @@ { "name": "@iq-firebolt/validators", - "version": "0.10.1-next.6", + "version": "0.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", From 4f19af5d4afef512e1ab3d7575c91b10d51351c4 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 10:37:42 -0300 Subject: [PATCH 20/26] chore(canary): trigger test & canary publish with touch file --- packages/client/src/canary-touch.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 packages/client/src/canary-touch.md diff --git a/packages/client/src/canary-touch.md b/packages/client/src/canary-touch.md new file mode 100644 index 00000000..df6bf783 --- /dev/null +++ b/packages/client/src/canary-touch.md @@ -0,0 +1,4 @@ +# Canary Touch + +Este arquivo existe apenas para disparar o workflow de testes e a publicação canary efêmera. +Data: 2025-10-09 From ac5dfbf340d1f503b7f3012c40c8f9a4f5ebacd7 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 10:40:01 -0300 Subject: [PATCH 21/26] ci(workflows): chain canary after tests & adjust test workflow trigger --- .github/workflows/canary-main.yml | 66 ++++++++++++++++++++----------- .github/workflows/test-libs.yml | 2 +- 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 7b2d6012..54f2854a 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -1,10 +1,9 @@ -name: Canary (PR -> main) +name: Canary (after tests) on: - pull_request: - types: [opened, synchronize, reopened, ready_for_review] - branches: - - main + workflow_run: + workflows: ["Packages tests (vitest)"] + types: [completed] permissions: contents: write @@ -12,19 +11,43 @@ permissions: packages: write concurrency: - group: canary-main-${{ github.event.pull_request.number }} + group: canary-main-${{ github.event.workflow_run.id }} cancel-in-progress: true jobs: canary: name: Canary publish next + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - - name: Checkout + - name: Download workflow run event payload + uses: actions/download-artifact@v4 + if: false # placeholder (não usamos artifacts, mas mantemos passo visível para debug futuro) + - name: Extract PR data + id: pr + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + // Recupera lista de commits do workflow_run para identificar PR associado + const runId = context.payload.workflow_run.id; + const {data: prList} = await github.rest.search.issuesAndPullRequests({ + q: `repo:${context.repo.owner}/${context.repo.repo} type:pr is:open sha:${context.payload.workflow_run.head_sha}` + }); + if (!prList.items.length) { + core.setFailed('Nenhum PR aberto encontrado para head_sha'); + return; + } + const pr = prList.items[0]; + core.setOutput('number', pr.number); + core.setOutput('head_ref', context.payload.workflow_run.head_branch); + console.log(`PR identificado #${pr.number} branch ${context.payload.workflow_run.head_branch}`); + core.exportVariable('PR_NUMBER', pr.number); + core.exportVariable('PR_HEAD_REF', context.payload.workflow_run.head_branch); + - name: Checkout PR branch uses: actions/checkout@v3 with: - # Precisamos estar na branch do PR (não em detached HEAD) para o 'lerna version' poder commitar e taggear - ref: ${{ github.event.pull_request.head.ref }} + ref: ${{ github.event.workflow_run.head_branch }} fetch-depth: 0 fetch-tags: true - name: Setup Node @@ -44,10 +67,8 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Install run: yarn install --frozen-lockfile - - name: Build (optional) + - name: Build libs run: yarn build:libs - - name: Test (optional) - run: yarn test:run - name: Compute ephemeral canary version id: version run: | @@ -77,14 +98,15 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const curr = process.env.CURRENT_VERSION; - const body = `Canary publicado (ephemeral): v${curr} (dist-tag next) - sem commit de versão`; - if (!context.issue.number) { - core.warning('Sem issue/PR number detectado para comentar.'); - } else { - await github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body - }); + const prNumber = Number(process.env.PR_NUMBER || '0'); + if (!prNumber) { + core.warning('PR não identificado para comentar.'); + return; } + const body = `Canary Publicado: v${curr}`; + await github.rest.issues.createComment({ + issue_number: prNumber, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index 912558db..70cbda2a 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -2,7 +2,7 @@ name: Packages tests (vitest) on: pull_request: - branches: [main, latest] + branches: [main, latest, synchronize] workflow_dispatch: {} jobs: From 83592681f5ccc12b50e2a0ff5c93bc649f3d650c Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 10:45:59 -0300 Subject: [PATCH 22/26] ci(test-libs): fix pull_request trigger (remove invalid branch and add types) --- .github/workflows/test-libs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index 70cbda2a..ec77d771 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -2,7 +2,8 @@ name: Packages tests (vitest) on: pull_request: - branches: [main, latest, synchronize] + branches: [main, latest] + types: [opened, synchronize, reopened, ready_for_review] workflow_dispatch: {} jobs: From 7ea135336584ee6952af3dbca15134460291a40c Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 11:10:46 -0300 Subject: [PATCH 23/26] ci(canary): revert to inline tests + conditional publish on success --- .github/workflows/canary-main.yml | 123 ++++++++++++++++++------------ 1 file changed, 74 insertions(+), 49 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 54f2854a..9fee6460 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -1,9 +1,10 @@ -name: Canary (after tests) +name: Canary on: - workflow_run: - workflows: ["Packages tests (vitest)"] - types: [completed] + pull_request: + branches: [main, latest] + types: [opened, synchronize, reopened, ready_for_review] + workflow_dispatch: {} permissions: contents: write @@ -11,43 +12,17 @@ permissions: packages: write concurrency: - group: canary-main-${{ github.event.workflow_run.id }} + group: canary-pr-${{ github.event.pull_request.number }} cancel-in-progress: true jobs: canary: - name: Canary publish next - if: ${{ github.event.workflow_run.conclusion == 'success' }} + name: Canary publish (tests + publish next) runs-on: ubuntu-latest steps: - - name: Download workflow run event payload - uses: actions/download-artifact@v4 - if: false # placeholder (não usamos artifacts, mas mantemos passo visível para debug futuro) - - name: Extract PR data - id: pr - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - // Recupera lista de commits do workflow_run para identificar PR associado - const runId = context.payload.workflow_run.id; - const {data: prList} = await github.rest.search.issuesAndPullRequests({ - q: `repo:${context.repo.owner}/${context.repo.repo} type:pr is:open sha:${context.payload.workflow_run.head_sha}` - }); - if (!prList.items.length) { - core.setFailed('Nenhum PR aberto encontrado para head_sha'); - return; - } - const pr = prList.items[0]; - core.setOutput('number', pr.number); - core.setOutput('head_ref', context.payload.workflow_run.head_branch); - console.log(`PR identificado #${pr.number} branch ${context.payload.workflow_run.head_branch}`); - core.exportVariable('PR_NUMBER', pr.number); - core.exportVariable('PR_HEAD_REF', context.payload.workflow_run.head_branch); - - name: Checkout PR branch + - name: Checkout uses: actions/checkout@v3 with: - ref: ${{ github.event.workflow_run.head_branch }} fetch-depth: 0 fetch-tags: true - name: Setup Node @@ -55,57 +30,107 @@ jobs: with: node-version: 20 cache: yarn - - name: Git identity - run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - name: Setup npm auth run: | echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc npm whoami || true env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - name: Install + - name: Install deps run: yarn install --frozen-lockfile - name: Build libs run: yarn build:libs + - name: Check changed packages + uses: dorny/paths-filter@v2 + id: changes + with: + filters: | + client: + - 'packages/client/src/**' + validators: + - 'packages/validators/src/**' + clientCore: + - 'packages/client-core/lib/**' + - name: test client core + if: steps.changes.outputs.clientCore == 'true' + run: yarn test:client-core:coverage + - name: Report Client Core Coverage + if: steps.changes.outputs.clientCore == 'true' + uses: davelosert/vitest-coverage-report-action@v2 + with: + name: client-core + json-summary-path: coverage/coverage-summary.json + json-final-path: coverage/coverage-final.json + - name: test client + if: steps.changes.outputs.client == 'true' + run: yarn test:client:coverage + - name: Report Client Coverage + if: steps.changes.outputs.client == 'true' + uses: davelosert/vitest-coverage-report-action@v2 + with: + name: client + json-summary-path: coverage/coverage-summary.json + json-final-path: coverage/coverage-final.json + - name: test validators + if: steps.changes.outputs.validators == 'true' + run: yarn test:validators:coverage + - name: Report Validators Coverage + if: steps.changes.outputs.validators == 'true' + uses: davelosert/vitest-coverage-report-action@v2 + with: + name: validators + json-summary-path: coverage/coverage-summary.json + json-final-path: coverage/coverage-final.json - name: Compute ephemeral canary version + if: success() id: version run: | BASE_VERSION=$(node -p 'require("./lerna.json").version') SHORT_SHA=$(git rev-parse --short HEAD) - EPHEMERAL_VERSION="${BASE_VERSION}-next.${SHORT_SHA}" + EPHEMERAL_VERSION="${BASE_VERSION}-next.${SHORT_SHA}.${GITHUB_RUN_ATTEMPT}" echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV echo "EPHEMERAL_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_OUTPUT - name: Inject ephemeral version in packages + if: success() run: | EPV="$EPHEMERAL_VERSION" - echo "Aplicando versão efêmera $EPV nos package.json (sem commit)" + echo "Aplicando versão efêmera $EPV nos package.json (sem commit)" jq --arg v "$EPV" '.version = $v' lerna.json > lerna.tmp && mv lerna.tmp lerna.json for PKG in packages/*/package.json; do jq --arg v "$EPV" '.version = $v' "$PKG" > "$PKG.tmp" && mv "$PKG.tmp" "$PKG" || exit 1 done - name: Publish canary (no commit/tag) + if: success() env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | - # Publica todos os pacotes com a versão efêmera e dist-tag next sem criar git commit/tag npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)" echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV - - name: PR Comment + - name: PR Success Comment + if: success() uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const curr = process.env.CURRENT_VERSION; - const prNumber = Number(process.env.PR_NUMBER || '0'); - if (!prNumber) { - core.warning('PR não identificado para comentar.'); - return; - } - const body = `Canary Publicado: v${curr}`; + const number = context.payload.pull_request.number; + const body = `Canary publicado: v${curr}`; + await github.rest.issues.createComment({ + issue_number: number, + owner: context.repo.owner, + repo: context.repo.repo, + body + }); + - name: PR Failure Comment + if: failure() + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const number = context.payload.pull_request.number; + const body = 'Canary não publicado: testes falharam. Verifique os logs do workflow.'; await github.rest.issues.createComment({ - issue_number: prNumber, + issue_number: number, owner: context.repo.owner, repo: context.repo.repo, body From df1b9ef6a513862951f7a015cb2057ff3e072438 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 11:58:02 -0300 Subject: [PATCH 24/26] ci(canary): add ephemeral commit/reset to fix lerna EUNCOMMIT for publish --- .github/workflows/canary-main.yml | 75 +++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 9fee6460..8d8f8ccd 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -40,47 +40,58 @@ jobs: run: yarn install --frozen-lockfile - name: Build libs run: yarn build:libs - - name: Check changed packages - uses: dorny/paths-filter@v2 - id: changes - with: - filters: | - client: - - 'packages/client/src/**' - validators: - - 'packages/validators/src/**' - clientCore: - - 'packages/client-core/lib/**' - - name: test client core - if: steps.changes.outputs.clientCore == 'true' - run: yarn test:client-core:coverage + - name: Test client-core (aggregate) + run: | + set +e + yarn test:client-core:coverage + RC=$? + if [ $RC -ne 0 ]; then echo client-core >> failed-tests.txt; fi + exit 0 - name: Report Client Core Coverage - if: steps.changes.outputs.clientCore == 'true' + if: always() uses: davelosert/vitest-coverage-report-action@v2 with: name: client-core json-summary-path: coverage/coverage-summary.json json-final-path: coverage/coverage-final.json - - name: test client - if: steps.changes.outputs.client == 'true' - run: yarn test:client:coverage + - name: Test client (aggregate) + run: | + set +e + yarn test:client:coverage + RC=$? + if [ $RC -ne 0 ]; then echo client >> failed-tests.txt; fi + exit 0 - name: Report Client Coverage - if: steps.changes.outputs.client == 'true' + if: always() uses: davelosert/vitest-coverage-report-action@v2 with: name: client json-summary-path: coverage/coverage-summary.json json-final-path: coverage/coverage-final.json - - name: test validators - if: steps.changes.outputs.validators == 'true' - run: yarn test:validators:coverage + - name: Test validators (aggregate) + run: | + set +e + yarn test:validators:coverage + RC=$? + if [ $RC -ne 0 ]; then echo validators >> failed-tests.txt; fi + exit 0 - name: Report Validators Coverage - if: steps.changes.outputs.validators == 'true' + if: always() uses: davelosert/vitest-coverage-report-action@v2 with: name: validators json-summary-path: coverage/coverage-summary.json json-final-path: coverage/coverage-final.json + - name: Evaluate aggregated test result + run: | + if [ -f failed-tests.txt ]; then + echo "::error::Falhas em pacotes de teste:"; + cat failed-tests.txt | sed 's/^/- /'; + echo "Marcando job como failed"; + exit 1; + else + echo "Todos os testes passaram em todos os pacotes"; + fi - name: Compute ephemeral canary version if: success() id: version @@ -99,6 +110,17 @@ jobs: for PKG in packages/*/package.json; do jq --arg v "$EPV" '.version = $v' "$PKG" > "$PKG.tmp" && mv "$PKG.tmp" "$PKG" || exit 1 done + - name: Ephemeral commit (local, not pushed) + if: success() + run: | + echo "HEAD_ORIG=$(git rev-parse HEAD)" >> $GITHUB_ENV + git add lerna.json packages/*/package.json || true + if git diff --cached --quiet; then + echo "Sem mudanças para commit (rerun?)" + else + git commit -m "chore(ci): ephemeral canary version $EPHEMERAL_VERSION" || true + fi + git status --short - name: Publish canary (no commit/tag) if: success() env: @@ -106,6 +128,13 @@ jobs: run: | npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)" echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV + - name: Revert ephemeral commit (keep tree clean for PR) + if: success() + run: | + if [ -n "$HEAD_ORIG" ]; then + git reset --hard "$HEAD_ORIG" || true + git status --short + fi - name: PR Success Comment if: success() uses: actions/github-script@v6 From a5947f3c67065e505bb5ec025e7c10071387e8f6 Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 14:36:24 -0300 Subject: [PATCH 25/26] =?UTF-8?q?ci(canary):=20valida=20publica=C3=A7?= =?UTF-8?q?=C3=A3o=20no=20NPM=20antes=20de=20comentar=20vers=C3=A3o=20cana?= =?UTF-8?q?ry=20no=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/canary-main.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 8d8f8ccd..34646242 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -110,6 +110,11 @@ jobs: for PKG in packages/*/package.json; do jq --arg v "$EPV" '.version = $v' "$PKG" > "$PKG.tmp" && mv "$PKG.tmp" "$PKG" || exit 1 done + - name: Git identity for ephemeral commit + if: success() + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' - name: Ephemeral commit (local, not pushed) if: success() run: | @@ -128,6 +133,29 @@ jobs: run: | npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)" echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV + + - name: Validate canary publish on NPM + if: success() + id: validate_npm + run: | + PKG_NAME=$(node -p 'require("./lerna.json").packages[0]' | sed 's/packages\///;s/\/package.json//') + # Tenta encontrar o nome do pacote principal (ajuste se necessário) + if [ -f "packages/$PKG_NAME/package.json" ]; then + PKG_JSON="packages/$PKG_NAME/package.json" + else + PKG_JSON="packages/*/package.json" + fi + NAME=$(node -p "require('$PKG_JSON').name") + VERSION="$EPHEMERAL_VERSION" + echo "Checando $NAME@$VERSION no NPM..." + if npm view "$NAME@$VERSION" version; then + echo "NPM_PUBLISH_OK=true" >> $GITHUB_ENV + echo "NPM_PUBLISH_OK=true" >> $GITHUB_OUTPUT + else + echo "NPM_PUBLISH_OK=false" >> $GITHUB_ENV + echo "NPM_PUBLISH_OK=false" >> $GITHUB_OUTPUT + exit 1 + fi - name: Revert ephemeral commit (keep tree clean for PR) if: success() run: | @@ -136,7 +164,7 @@ jobs: git status --short fi - name: PR Success Comment - if: success() + if: success() && env.NPM_PUBLISH_OK == 'true' uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} From d421b25c28bc04d21e34ebd746cc00077060109a Mon Sep 17 00:00:00 2001 From: Tiago Vaz Date: Thu, 9 Oct 2025 14:57:25 -0300 Subject: [PATCH 26/26] =?UTF-8?q?ci(canary):=20remove=20valida=C3=A7=C3=A3?= =?UTF-8?q?o=20NPM=20quebrada=20do=20step=20de=20publish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/canary-main.yml | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml index 34646242..30d5a77b 100644 --- a/.github/workflows/canary-main.yml +++ b/.github/workflows/canary-main.yml @@ -134,28 +134,6 @@ jobs: npx lerna publish from-package --dist-tag next --yes --no-verify-access || echo "Nenhum pacote alterado para publicar (ok)" echo "CURRENT_VERSION=$EPHEMERAL_VERSION" >> $GITHUB_ENV - - name: Validate canary publish on NPM - if: success() - id: validate_npm - run: | - PKG_NAME=$(node -p 'require("./lerna.json").packages[0]' | sed 's/packages\///;s/\/package.json//') - # Tenta encontrar o nome do pacote principal (ajuste se necessário) - if [ -f "packages/$PKG_NAME/package.json" ]; then - PKG_JSON="packages/$PKG_NAME/package.json" - else - PKG_JSON="packages/*/package.json" - fi - NAME=$(node -p "require('$PKG_JSON').name") - VERSION="$EPHEMERAL_VERSION" - echo "Checando $NAME@$VERSION no NPM..." - if npm view "$NAME@$VERSION" version; then - echo "NPM_PUBLISH_OK=true" >> $GITHUB_ENV - echo "NPM_PUBLISH_OK=true" >> $GITHUB_OUTPUT - else - echo "NPM_PUBLISH_OK=false" >> $GITHUB_ENV - echo "NPM_PUBLISH_OK=false" >> $GITHUB_OUTPUT - exit 1 - fi - name: Revert ephemeral commit (keep tree clean for PR) if: success() run: | @@ -164,7 +142,7 @@ jobs: git status --short fi - name: PR Success Comment - if: success() && env.NPM_PUBLISH_OK == 'true' + if: success() uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }}