From 1b4086f3b578225ea9ec365c5e742b4456e0faad Mon Sep 17 00:00:00 2001 From: Hyeonseo Kim Date: Tue, 27 Oct 2026 14:15:40 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=8C=80?= =?UTF-8?q?=EC=A1=B0=EA=B5=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 1affdc23c9f42ff1b4e06f43e2f7d2467a59eaf3 Mon Sep 17 00:00:00 2001 From: Hyeonseo Kim Date: Tue, 27 Oct 2026 14:21:42 +0900 Subject: [PATCH 2/3] Split test using node test shard option Assisted-by: Codex:gpt-5.6-sol Prompt ``` Inspect current workflow and using test shard option to split test case and runner. ``` --- .github/workflows/main.yaml | 7 +++++-- mise.toml | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3df34fa..0eb3136 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -38,15 +38,18 @@ jobs: MISE_LOG_LEVEL: ${{ runner.debug == '1' && 'trace' || 'info' }} test: + name: test (${{ matrix.os }}, shard ${{ matrix.shard }}) timeout-minutes: 30 concurrency: - group: test-${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }} + group: >- + test-${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }}-${{ matrix.shard }} cancel-in-progress: false queue: max strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] + shard: ["1/2", "2/2"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v7.0.1 @@ -57,7 +60,7 @@ jobs: cache: true experimental: true log_level: ${{ runner.debug == '1' && 'trace' || 'info' }} - - run: mise test + - run: mise test --shard ${{ matrix.shard }} env: MISE_LOG_LEVEL: ${{ runner.debug == '1' && 'trace' || 'info' }} LOGTAPE_TEST_MODE: ${{ runner.debug == '1' && 'always' || 'on-failure' }} diff --git a/mise.toml b/mise.toml index 57a094b..618e4fd 100644 --- a/mise.toml +++ b/mise.toml @@ -250,6 +250,7 @@ description = "Run tests" depends = ["build"] usage = ''' flag "-d --debug" help="Run tests in debug mode" +flag "--shard " help="Run one test shard as INDEX/TOTAL" ''' run = ''' #!/usr/bin/env nu @@ -260,7 +261,8 @@ if "usage_debug" in $env { $env.LOGTAPE_TEST_MODE = "on-failure" $env.LOGTAPE_TEST_LOWEST_LEVEL = "debug" } -pnpm run --parallel --recursive test --test-concurrency=1 +let shard = (if "usage_shard" in $env { [$"--test-shard=($env.usage_shard)"] } else { [] }) +node --test ...$shard "packages/*/src/**/*.test.ts" ''' [tasks."test:postgres"] From 03452ed803944e02773abc62c95dd6ec50e4bc94 Mon Sep 17 00:00:00 2001 From: Hyeonseo Kim Date: Tue, 27 Oct 2026 14:47:43 +0900 Subject: [PATCH 3/3] Split test suite to 3 --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 0eb3136..012aee9 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -49,7 +49,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - shard: ["1/2", "2/2"] + shard: ["1/3", "2/3", "3/3"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v7.0.1