summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorCrazyMax <crazy-max@users.noreply.github.com>2023-02-07 03:39:34 +0100
committerCrazyMax <crazy-max@users.noreply.github.com>2023-02-07 12:32:45 +0100
commit22776f8fdbb989eb18c46e64d7c77e04e667ee5c (patch)
treebdbbe4cd3edfb410698e37c13ac4e092e22db4e2 /.github/workflows
parente304e82b664553b3c73ac317106ff6572298f251 (diff)
downloaddocker-22776f8fdbb989eb18c46e64d7c77e04e667ee5c.tar.gz
ci: enhance tests distribution
Adds overrides with specific tests suites in our tests matrix so we can reduce build time significantly. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/.windows.yml9
-rw-r--r--.github/workflows/test.yml10
2 files changed, 11 insertions, 8 deletions
diff --git a/.github/workflows/.windows.yml b/.github/workflows/.windows.yml
index c6ce7ce246..aa87b30ab4 100644
--- a/.github/workflows/.windows.yml
+++ b/.github/workflows/.windows.yml
@@ -228,10 +228,11 @@ jobs:
id: tests
working-directory: ./integration-cli
run: |
- # Distribute integration-cli tests for the matrix in integration-test job.
- # Also prepend ./... to the matrix. This is a special case to run "Test integration" step exclusively.
- matrix="$(gotestlist -d ${{ env.ITG_CLI_MATRIX_SIZE }} ./...)"
- matrix="$(echo "$matrix" | jq -c '. |= ["./..."] + .')"
+ # This step creates a matrix for integration-cli tests. Tests suites
+ # are distributed in integration-test job through a matrix. There is
+ # also an override being added to the matrix like "./..." to run
+ # "Test integration" step exclusively.
+ matrix="$(gotestlist -d ${{ env.ITG_CLI_MATRIX_SIZE }} -o "./..." ./...)"
echo "matrix=$matrix" >> $GITHUB_OUTPUT
-
name: Show matrix
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 43357c8f4e..0770b1a630 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -401,10 +401,12 @@ jobs:
id: tests
working-directory: ./integration-cli
run: |
- # Distribute integration-cli tests for the matrix in integration-test job.
- # Also prepend ./... to the matrix. This is a special case to run "Test integration" step exclusively.
- matrix="$(gotestlist -d ${{ env.ITG_CLI_MATRIX_SIZE }} ./...)"
- matrix="$(echo "$matrix" | jq -c '. |= ["./..."] + .')"
+ # This step creates a matrix for integration-cli tests. Tests suites
+ # are distributed in integration-cli job through a matrix. There is
+ # also overrides being added to the matrix like "./..." to run
+ # "Test integration" step exclusively and specific tests suites that
+ # take a long time to run.
+ matrix="$(gotestlist -d ${{ env.ITG_CLI_MATRIX_SIZE }} -o "./..." -o "DockerSwarmSuite" -o "DockerNetworkSuite|DockerExternalVolumeSuite" ./...)"
echo "matrix=$matrix" >> $GITHUB_OUTPUT
-
name: Show matrix