my Makefile:
PACKAGES_E2E_XXX=$(shell go list -tags=e2e_xxx ./... | grep '/itest/xxx')
test-e2e-xxx: clean-e2e install-something
@go test -mod=readonly -timeout=25m -v $(PACKAGES_E2E_XXX) -count=1 --tags=e2e_xxx
my job definition in config.yml
test_e2e_xxx:
machine:
image: ubuntu-2204:2024.01.1
resource_class: large
steps:
- go/install:
version: "1.21.4"
- checkout
- run:
name: Print Go environment
command: "go env"
- go/load-cache:
key: go-mod-v6-{{ checksum "go.sum" }}
- add_ssh_keys
- go/mod-download
- go/save-cache:
key: go-mod-v6-{{ checksum "go.sum" }}
path: "/home/circleci/.go_workspace/pkg/mod"
- run:
name: Download some data
command: |
make download-e2e-data
- run:
name: Run integration tests
command: |
make test-e2e-xxx
the problem is test-e2e-xxx
take too long b/c there are many tests in the same .go file
I want to use pattern matching with the --run
tag to split test those tests
how can I do it with circleci tests run
? I looked into docs about “parallelism-faster-jobs” but still not sure how to write the command