diff --git a/.github/workflows/canary-main.yml b/.github/workflows/canary-main.yml new file mode 100644 index 00000000..30d5a77b --- /dev/null +++ b/.github/workflows/canary-main.yml @@ -0,0 +1,172 @@ +name: Canary + +on: + pull_request: + branches: [main, latest] + types: [opened, synchronize, reopened, ready_for_review] + workflow_dispatch: {} + +permissions: + contents: write + pull-requests: write + packages: write + +concurrency: + group: canary-pr-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + canary: + name: Canary publish (tests + publish next) + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + fetch-tags: true + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: yarn + - name: Setup npm auth + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc + npm whoami || true + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Install deps + run: yarn install --frozen-lockfile + - name: Build libs + run: yarn build:libs + - 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: 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 (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: 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 (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: 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 + run: | + BASE_VERSION=$(node -p 'require("./lerna.json").version') + SHORT_SHA=$(git rev-parse --short HEAD) + 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)" + 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: 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: | + 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: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + 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 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const curr = process.env.CURRENT_VERSION; + 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: 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..f7a6a275 --- /dev/null +++ b/.github/workflows/minor-release-latest.yml @@ -0,0 +1,66 @@ +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 curr = `v${process.env.CURRENT_VERSION}`; + const body = `Minor release publicado: ${curr}`; + 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 new file mode 100644 index 00000000..9ee800cc --- /dev/null +++ b/.github/workflows/patch-release-main.yml @@ -0,0 +1,66 @@ +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 curr = `v${process.env.CURRENT_VERSION}`; + const body = `Patch release publicado: ${curr}`; + 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/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/.github/workflows/test-libs.yml b/.github/workflows/test-libs.yml index de91399f..ec77d771 100644 --- a/.github/workflows/test-libs.yml +++ b/.github/workflows/test-libs.yml @@ -1,8 +1,10 @@ -name: Jest test validators +name: Packages tests (vitest) on: pull_request: branches: [main, latest] + types: [opened, synchronize, reopened, ready_for_review] + workflow_dispatch: {} jobs: test: 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/lerna.json b/lerna.json index 2b4aee1b..93e3ce7b 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/*" ], - "version": "0.8.4-next.1", + "version": "0.9.6", "npmClient": "yarn", "command": { "publish": { 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": { diff --git a/packages/atlas-theme/package.json b/packages/atlas-theme/package.json index b3c473a4..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.8.4-next.1", + "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 1b76ae15..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.8.4-next.1", + "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 8c1e18b6..335b6e6e 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.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.8.4-next.1", + "@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 a9aa65e0..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.8.4-next.1", + "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 a7bcb788..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.8.4-next.1", + "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 09a41808..e30d3d94 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.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.8.4-next.1", - "@iq-firebolt/validators": "^0.8.4-next.1", + "@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.8.4-next.1", + "@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/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() }) }) 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 diff --git a/packages/entities/package.json b/packages/entities/package.json index da753de8..c650bbbe 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.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 0f652d7c..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.8.4-next.1", + "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 5d26143d..0d3e2863 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.9.6", "private": true, "license": "Apache-2.0", "dependencies": { - "@iq-firebolt/blueberry-theme": "^0.8.4-next.1", + "@iq-firebolt/blueberry-theme": "0.9.6", "@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.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 1fd60381..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.8.4-next.1", + "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 8e175b56..44dab336 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.9.6", "description": "> TODO: description", "author": "iq team", "homepage": "https://github.com/IQ-tech/firebolt#readme", 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, }, },