From 354cffb5b34d675e03fb47c8626ef2d4be13a46c Mon Sep 17 00:00:00 2001 From: guidari Date: Fri, 30 Aug 2024 09:54:09 -0300 Subject: [PATCH 1/9] feat: added codecov --- .github/workflows/ci.yml | 7 +++++-- packages/react/codecov.yml | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 packages/react/codecov.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6eef230e9a42..6505c6d2d212 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,8 +79,11 @@ jobs: run: | yarn carbon-cli check --ignore '**/@(node_modules|examples|components|react|fixtures|compat)/**' 'packages/**/*.scss' - name: Run tests - run: yarn test --ci - + run: yarn test --ci --collectCoverage + - name: Upload coverage reports to Codecov with GitHub Action + uses: codecov/codecov-action@v4.2.0 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} e2e: name: 'test:e2e' runs-on: ubuntu-latest diff --git a/packages/react/codecov.yml b/packages/react/codecov.yml new file mode 100644 index 000000000000..fcdcc8b80890 --- /dev/null +++ b/packages/react/codecov.yml @@ -0,0 +1,8 @@ +coverage: + status: + project: + components: + target: 100% + threshold: 1% + paths: + - src/components/ From b87bcc7de28518bcdb050de36c2049cb3ac37d63 Mon Sep 17 00:00:00 2001 From: guidari Date: Fri, 30 Aug 2024 10:28:09 -0300 Subject: [PATCH 2/9] fix: changed target to auto --- packages/react/codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react/codecov.yml b/packages/react/codecov.yml index fcdcc8b80890..b98cb951201d 100644 --- a/packages/react/codecov.yml +++ b/packages/react/codecov.yml @@ -2,7 +2,7 @@ coverage: status: project: components: - target: 100% + target: auto # every new commit must maintain or raise the overall code coverage threshold: 1% paths: - src/components/ From f434a63b676b84d6873a5fa583cdfc65eaf64e41 Mon Sep 17 00:00:00 2001 From: guidari Date: Fri, 30 Aug 2024 16:40:21 -0300 Subject: [PATCH 3/9] fix: added func to test --- packages/react/src/components/ListBox/ListBoxField.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/react/src/components/ListBox/ListBoxField.tsx b/packages/react/src/components/ListBox/ListBoxField.tsx index 9e6e58133281..bb324693e12c 100644 --- a/packages/react/src/components/ListBox/ListBoxField.tsx +++ b/packages/react/src/components/ListBox/ListBoxField.tsx @@ -33,6 +33,11 @@ function ListBoxField({ }: ListBoxFieldProps) { const prefix = usePrefix(); + const test = (x, y) => { + const result = x + y; + return result; + }; + return (
Date: Fri, 30 Aug 2024 17:30:47 -0300 Subject: [PATCH 4/9] fix: removed test code --- packages/react/src/components/ListBox/ListBoxField.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/react/src/components/ListBox/ListBoxField.tsx b/packages/react/src/components/ListBox/ListBoxField.tsx index bb324693e12c..9e6e58133281 100644 --- a/packages/react/src/components/ListBox/ListBoxField.tsx +++ b/packages/react/src/components/ListBox/ListBoxField.tsx @@ -33,11 +33,6 @@ function ListBoxField({ }: ListBoxFieldProps) { const prefix = usePrefix(); - const test = (x, y) => { - const result = x + y; - return result; - }; - return (
Date: Mon, 2 Sep 2024 11:02:16 -0300 Subject: [PATCH 5/9] fix: changed version to code-action@v4.5.0 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e237825559a..8b3e15701315 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,7 +81,7 @@ jobs: - name: Run tests run: yarn test --ci --collectCoverage - name: Upload coverage reports to Codecov with GitHub Action - uses: codecov/codecov-action@v4.2.0 + uses: codecov/codecov-action@v4.5.0 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} e2e: From 7db92cf06e0dc9b5a6bc41dfb3a1f0fd7a7c1356 Mon Sep 17 00:00:00 2001 From: guidari Date: Tue, 3 Sep 2024 13:48:36 -0300 Subject: [PATCH 6/9] fix: changed the version to a SHA --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b3e15701315..554faa2c3fdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,7 +81,7 @@ jobs: - name: Run tests run: yarn test --ci --collectCoverage - name: Upload coverage reports to Codecov with GitHub Action - uses: codecov/codecov-action@v4.5.0 + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} e2e: From cf7258c94f6ec505f0c8c49805e13dfa797d6f03 Mon Sep 17 00:00:00 2001 From: guidari Date: Thu, 5 Sep 2024 09:42:18 -0300 Subject: [PATCH 7/9] fix: changed codecov.yml --- .github/codecov.yml | 78 ++++++++++++++++++++++++++++++++++++++ packages/react/codecov.yml | 8 ---- 2 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 .github/codecov.yml delete mode 100644 packages/react/codecov.yml diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 000000000000..0e07cd5974c0 --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,78 @@ +coverage: + status: + project: + default: + informational: true + patch: + default: + informational: true + +component_management: + default_rules: # default rules that will be inherited by all components + statuses: + - type: project # in this case every component that doens't have a status defined will have a project type one + target: auto + threshold: 1% + branches: + - '!main' + individual_components: + - component_id: react # this is an identifier that should not be changed + name: react # this is a display name, and can be changed freely + paths: + - ../packages/react/** + - component_id: core-components # this is an identifier that should not be changed + name: core-components # this is a display name, and can be changed freely + paths: + - ../packages/react/src/components/** + - component_id: colors + name: colors + paths: + - ../packages/colors/** + - component_id: elements + name: elements + paths: + - ../packages/elements/** + - component_id: feature-flags + name: feature-flags + paths: + - ../packages/feature-flags/** + - component_id: grid + name: grid + paths: + - ../packages/grid/** + - component_id: icon-helpers + name: icon-helpers + paths: + - ../packages/icon-helpers/** + - component_id: layout + name: layout + paths: + - ../packages/layout/** + - component_id: motion + name: motion + paths: + - ../packages/motion/** + - component_id: scss-generator + name: scss-generator + paths: + - ../packages/scss-generator/** + - component_id: styles + name: styles + paths: + - ../packages/styles/** + - component_id: test-utils + name: test-utils + paths: + - ../packages/test-utils/** + - component_id: themes + name: themes + paths: + - ../packages/themes/** + - component_id: type + name: type + paths: + - ../packages/type/** + - component_id: upgrade + name: upgrade + paths: + - ../packages/upgrade/** diff --git a/packages/react/codecov.yml b/packages/react/codecov.yml deleted file mode 100644 index b98cb951201d..000000000000 --- a/packages/react/codecov.yml +++ /dev/null @@ -1,8 +0,0 @@ -coverage: - status: - project: - components: - target: auto # every new commit must maintain or raise the overall code coverage - threshold: 1% - paths: - - src/components/ From 36fa0552a604c433fd1794af843bf3c9ad09209e Mon Sep 17 00:00:00 2001 From: guidari Date: Thu, 5 Sep 2024 09:55:56 -0300 Subject: [PATCH 8/9] fix: changes the codecov.yml to match the website report --- .github/codecov.yml | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 0e07cd5974c0..324013595762 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -16,34 +16,18 @@ component_management: branches: - '!main' individual_components: - - component_id: react # this is an identifier that should not be changed - name: react # this is a display name, and can be changed freely - paths: - - ../packages/react/** - - component_id: core-components # this is an identifier that should not be changed - name: core-components # this is a display name, and can be changed freely - paths: - - ../packages/react/src/components/** - component_id: colors name: colors paths: - ../packages/colors/** - - component_id: elements - name: elements - paths: - - ../packages/elements/** - component_id: feature-flags name: feature-flags paths: - ../packages/feature-flags/** - - component_id: grid - name: grid + - component_id: icon-build-helpers + name: icon-build-helpers paths: - - ../packages/grid/** - - component_id: icon-helpers - name: icon-helpers - paths: - - ../packages/icon-helpers/** + - ../packages/icon-build-helpers/** - component_id: layout name: layout paths: @@ -52,14 +36,14 @@ component_management: name: motion paths: - ../packages/motion/** + - component_id: react # this is an identifier that should not be changed + name: react # this is a display name, and can be changed freely + paths: + - ../packages/react/** - component_id: scss-generator name: scss-generator paths: - ../packages/scss-generator/** - - component_id: styles - name: styles - paths: - - ../packages/styles/** - component_id: test-utils name: test-utils paths: From bef79acfdf8c72726ec41d364d66d47b7171a556 Mon Sep 17 00:00:00 2001 From: guidari Date: Mon, 9 Sep 2024 10:37:03 -0300 Subject: [PATCH 9/9] fix: yarn dedupe --- ...plugin-npm-5.3.9-7ba1eb45f4-339737a407.zip | Bin 22918 -> 0 bytes yarn.lock | 28 ++---------------- 2 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 .yarn/cache/terser-webpack-plugin-npm-5.3.9-7ba1eb45f4-339737a407.zip diff --git a/.yarn/cache/terser-webpack-plugin-npm-5.3.9-7ba1eb45f4-339737a407.zip b/.yarn/cache/terser-webpack-plugin-npm-5.3.9-7ba1eb45f4-339737a407.zip deleted file mode 100644 index 89a312f2499358dc96c7df4ba832095427f15571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22918 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