From f80cc1fd8f18512f0163dc17dad8f8f0689ef7a8 Mon Sep 17 00:00:00 2001 From: Timothee Legros Date: Fri, 18 Oct 2024 13:52:29 +0300 Subject: [PATCH 1/3] update CI --- .github/workflows/CI.yml | 117 ++++++++--------------------- packages/commonwealth/package.json | 2 +- 2 files changed, 34 insertions(+), 85 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3d3cb1f365d..26cb2c225ea 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -291,7 +291,7 @@ jobs: run: cd packages/commonwealth && ./scripts/detect-broken-ts-expect-error.sh # These tests run quickly, so run them in a separate job - commonwealth-unit-integration: + commonwealth-integration: name: Commonwealth Unit And Integration Tests runs-on: ubuntu-latest timeout-minutes: 20 @@ -336,39 +336,13 @@ jobs: - name: Build run: pnpm -r build - - name: Run unit tests - run: pnpm -r test -- --allowOnly=false - - - name: Change permissions of coverage files - run: | - chmod -R 755 ./libs/adapters/coverage/lcov.info - chmod -R 755 ./libs/core/coverage/lcov.info - chmod -R 755 ./libs/model/coverage/lcov.info - chmod -R 755 ./libs/sitemaps/coverage/lcov.info - chmod -R 755 ./packages/commonwealth/coverage/lcov.info - chmod -R 755 ./packages/scripts/coverage/lcov.info - - - name: Coveralls parallel - uses: coverallsapp/github-action@v2 - with: - flag-name: unit-test-coverage - parallel: true - files: libs/adapters/coverage/lcov.info libs/core/coverage/lcov.info libs/model/coverage/lcov.info libs/sitemaps/coverage/lcov.info packages/commonwealth/coverage/lcov.info packages/scripts/coverage/lcov.info - - name: Run integration tests run: pnpm -F commonwealth test-integration --allowOnly=false - - name: Coveralls parallel - uses: coverallsapp/github-action@v2 - with: - flag-name: integration-test-coverage - parallel: true - files: ./packages/commonwealth/coverage/lcov.info - - commonwealth-evm-tests: - name: EVM Devnet Tests + commonwealth-unit-tests: + name: Commonwealth Unit Tests runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 20 strategy: matrix: node: [ 20 ] @@ -393,30 +367,41 @@ jobs: image: redis:latest ports: - 6379:6379 + rabbitmq: + image: rabbitmq:3.11-management + ports: + - 5672:5672 + - 15672:15672 + steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - uses: ./.github/actions/setup with: node-version: ${{ matrix.node }} - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 + - name: Run unit tests + run: pnpm -r test -- --allowOnly=false - - name: Run EVM Devnet tests - run: pnpm -F commonwealth test-devnet:evm --allowOnly=false + - name: Change permissions of coverage files + run: | + chmod -R 755 ./libs/adapters/coverage/lcov.info + chmod -R 755 ./libs/core/coverage/lcov.info + chmod -R 755 ./libs/model/coverage/lcov.info + chmod -R 755 ./libs/sitemaps/coverage/lcov.info - name: Coveralls parallel uses: coverallsapp/github-action@v2 with: - flag-name: evm-devnet-test-coverage + flag-name: unit-test-coverage parallel: true - files: packages/commonwealth/coverage/lcov.info + files: libs/adapters/coverage/lcov.info libs/core/coverage/lcov.info libs/model/coverage/lcov.info libs/sitemaps/coverage/lcov.info - # These tests run slowly, so run them in a separate job - commonwealth-cosmos-tests: - name: Cosmos Devnet Tests + + commonwealth-evm-tests: + name: EVM Devnet Tests runs-on: ubuntu-latest - timeout-minutes: 25 + timeout-minutes: 10 strategy: matrix: node: [ 20 ] @@ -437,61 +422,26 @@ jobs: ports: # Maps tcp port 5432 on service container to the host - 5432:5432 - cosmos_test_app: - image: mhagel1/csdk-v1 - ports: - - 5051:5051 - cosmos_beta_test_app: - image: mhagel1/csdk-beta - ports: - - 5050:5050 - evmos_test_app: - image: mhagel1/evmos-dev - ports: - - 5052:5052 redis: image: redis:latest ports: - 6379:6379 - steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup with: node-version: ${{ matrix.node }} - ## Cosmos Section: - # We only run Cosmos devnet tests if any files in the following folders changes - - name: Get changed Cosmos devnet-related files - id: changed-files-specific - uses: tj-actions/changed-files@v35 - with: - files: | - packages/commonwealth/test/devnet/cosmos/**/* - packages/commonwealth/server/cosmos-gov-notifications/**/* - packages/commonwealth/test/integration/cosmosGovNotifGenerator.spec.ts - packages/commonwealth/server/util/cosmosProxy.ts - packages/commonwealth/client/scripts/controllers/chain/cosmos/gov/**/* - packages/commonwealth/test/util/cosmos-chain-testing/**/* - libs/chains/src/cosmos-ts/**/* - - - name: Run following steps if any file(s) in the Cosmos folders change - if: steps.changed-files-specific.outputs.all_changed_files - run: | - echo "One or more Cosmos Devnet-related files has changed." - echo "List all the files that have changed: ${{ steps.changed-files-specific.outputs.all_changed_files }}" + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 - - name: Run Cosmos Devnet tests - if: steps.changed-files-specific.outputs.any_changed == 'true' - run: | - pnpm -F commonwealth start & - (pnpm -F commonwealth wait-server && pnpm -F commonwealth test-devnet:cosmos --allowOnly=false) + - name: Run EVM Devnet tests + run: pnpm -F commonwealth test-devnet:evm --allowOnly=false - name: Coveralls parallel - if: steps.changed-files-specific.outputs.all_changed_files uses: coverallsapp/github-action@v2 with: - flag-name: cosmos-devnet-test-coverage + flag-name: evm-devnet-test-coverage parallel: true files: packages/commonwealth/coverage/lcov.info @@ -499,7 +449,7 @@ jobs: name: Upload Test Coverage Report runs-on: ubuntu-latest timeout-minutes: 5 - needs: [ commonwealth-cosmos-tests, commonwealth-evm-tests, commonwealth-unit-integration, e2e-tests-serial, e2e-tests-Parallel, e2e-tests-Mature ] + needs: [ commonwealth-evm-tests, commonwealth-unit-tests ] if: always() strategy: matrix: @@ -509,5 +459,4 @@ jobs: - name: Coveralls Finished uses: coverallsapp/github-action@v2 with: - parallel-finished: true - carryforward: "cosmos-devnet-test-coverage" + parallel-finished: true \ No newline at end of file diff --git a/packages/commonwealth/package.json b/packages/commonwealth/package.json index d46ed58cb68..52d44c032c7 100644 --- a/packages/commonwealth/package.json +++ b/packages/commonwealth/package.json @@ -66,7 +66,7 @@ "test-e2e-mature": "NODE_OPTIONS='--import tsx/esm' NODE_ENV=test TEST_ENV=playwright npx playwright test -c ./test/e2e/playwright.config.ts --workers 1 ./test/e2e/mature/*", "test-e2e-serial": "NODE_OPTIONS='--import tsx/esm' NODE_ENV=test TEST_ENV=playwright npx playwright test --workers 1 ./test/e2e/e2eSerial/*", "test-integration": "INIT_TEST_DB=true NODE_ENV=test vitest --config ../../vite.config.ts --fileParallelism=false --coverage run ./test/integration", - "test-unit": "NODE_ENV=test FEATURE_FLAG_GROUP_CHECK_ENABLED=true vitest --config ../../vite.config.ts --coverage run test/unit", + "test-unit": "NODE_ENV=test FEATURE_FLAG_GROUP_CHECK_ENABLED=true vitest --config ../../vite.config.ts run test/unit", "test-select": "INIT_TEST_DB=true NODE_ENV=test vitest --config ../../vite.config.ts --fileParallelism=false run", "test-select:watch": "INIT_TEST_DB=true NODE_ENV=test vitest --config ../../vite.config.ts --fileParallelism=false", "ts-exec": "tsx ", From 5c1ba0e6726b8f8e1295bc11a4116adbdbbbd85c Mon Sep 17 00:00:00 2001 From: Timothee Legros Date: Fri, 18 Oct 2024 13:53:29 +0300 Subject: [PATCH 2/3] fix name --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 26cb2c225ea..ff6ef84a391 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -291,8 +291,8 @@ jobs: run: cd packages/commonwealth && ./scripts/detect-broken-ts-expect-error.sh # These tests run quickly, so run them in a separate job - commonwealth-integration: - name: Commonwealth Unit And Integration Tests + commonwealth-integration-test: + name: Commonwealth Integration Tests runs-on: ubuntu-latest timeout-minutes: 20 strategy: From 5c8740aa453fc6a34a7b8effeead83da8fbd071c Mon Sep 17 00:00:00 2001 From: Timothee Legros Date: Fri, 18 Oct 2024 14:05:30 +0300 Subject: [PATCH 3/3] remove tests for packages/scripts --- packages/scripts/package.json | 2 +- packages/scripts/tsconfig.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/scripts/package.json b/packages/scripts/package.json index b7e77426145..9ddd3108641 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -11,7 +11,7 @@ "build": "tsc -b ./tsconfig.build.json", "clean": "rm -rf build && rm -rf coverage", "check-types": "tsc --noEmit", - "test": "NODE_ENV=test vitest --config ../../vite.config.ts --coverage run test", + "test": "echo No tests for packages/scripts", "test-dev": "NODE_ENV=test vitest --config ../../vite.config.ts test", "generate-stakeholder-groups": "tsx src/generate-stakeholder-groups", "lint": "NODE_OPTIONS=\"--max-old-space-size=4096\" eslint -c ../../.eslintrc.cjs './src/**/*.{ts,tsx}'", diff --git a/packages/scripts/tsconfig.json b/packages/scripts/tsconfig.json index 91b9b5c33ff..74209a6dcc6 100644 --- a/packages/scripts/tsconfig.json +++ b/packages/scripts/tsconfig.json @@ -7,6 +7,7 @@ "references": [ { "path": "../../libs/core/tsconfig.build.json" }, { "path": "../../libs/model/tsconfig.build.json" }, - { "path": "../../libs/sitemaps/tsconfig.build.json" } + { "path": "../../libs/sitemaps/tsconfig.build.json" }, + { "path": "../../libs/adapters/tsconfig.build.json" } ] }