From 51e66210fb6c4ccfc0ab7bdaced1752d67f9f56c Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Thu, 12 Dec 2024 11:14:10 +0100 Subject: [PATCH] ci: split docker install by test name Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- .github/workflows/test.yml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 95c9a873..6bcaf4ba 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -104,11 +104,17 @@ jobs: for (const os of ['ubuntu-latest', 'macos-13', 'windows-latest']) { for (const test of tests) { if (test === 'docker/install.test.itg.ts') { - includes.push({ os: os, test: test, docker_install_type: 'image', docker_install_version: '27.3.1' }); - includes.push({ os: os, test: test, docker_install_type: 'image', docker_install_version: 'master' }); - includes.push({ os: os, test: test, docker_install_type: 'image', docker_install_version: 'latest' }); - includes.push({ os: os, test: test, docker_install_type: 'archive', docker_install_version: 'v26.1.4' }); - includes.push({ os: os, test: test, docker_install_type: 'archive', docker_install_version: 'latest' }); + includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: '27.3.1' }); + includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: 'master' }); + includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'image', docker_install_version: 'latest' }); + includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'archive', docker_install_version: 'v26.1.4' }); + includes.push({ os: os, test: test, test_name: 'root', docker_install_type: 'archive', docker_install_version: 'latest' }); + if (os === 'ubuntu-latest') { + includes.push({ os: os, test: test, test_name: 'rootless', docker_install_type: 'image', docker_install_version: 'latest' }); + includes.push({ os: os, test: test, test_name: 'rootless', docker_install_type: 'archive', docker_install_version: 'latest' }); + } + includes.push({ os: os, test: test, test_name: 'tcp', docker_install_type: 'image', docker_install_version: 'latest' }); + includes.push({ os: os, test: test, test_name: 'tcp', docker_install_type: 'archive', docker_install_version: 'latest' }); } else { includes.push({ os: os, test: test }); } @@ -176,8 +182,16 @@ jobs: run: yarn install - name: Test - run: | - yarn test:itg-coverage --runTestsByPath __tests__/${{ matrix.test }} --coverageDirectory=./coverage + uses: actions/github-script@v7 + with: + script: | + const testName = `${{ matrix.test_name }}`; + let args = ['test:itg-coverage']; + if (testName) { + args.push(`--testNamePattern=^${testName} `); + } + args.push(`--runTestsByPath`, `__tests__/${{ matrix.test }}`, `--coverageDirectory=./coverage`); + await exec.exec('yarn', args); env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CTN_BUILDER_NAME: ${{ steps.builder.outputs.name }}