How to use parallelism locally?

paralellism
2.0

#1

I’m looking to convert over from 1.0 to 2.0. One thing I’d like to test locally is parallelism using the circleci binary. The output of circleci help build appears to have a --parallelism flag to do this. But when I run my build as circleci build --parallelism 4 i never see more than one container started and it seems to happen in just one.

My parallel step in question looks like:

- run:
    name: build images
    command: |
      ./build $(circleci tests glob versions/**/options | circleci tests split)

The output of the glob appears to be correct locally:

$ echo $(circleci tests glob versions/**/options) | xargs -n 1 echo
versions/gliderlabs-3.1/options
versions/gliderlabs-3.2/options
versions/gliderlabs-3.3/options
versions/gliderlabs-3.4/options
versions/gliderlabs-3.5/options
versions/gliderlabs-3.6/options
versions/gliderlabs-edge/options
versions/library-3.1/options
versions/library-3.2/options
versions/library-3.3/options
versions/library-3.4/options
versions/library-3.5/options
versions/library-3.6/options
versions/library-edge/options

Is testing this supported locally or am I just doing something wrong?

Update: I now notice that it seems to be running the jobs using the index correctly. But only one of them gets run. If I specify --paralellism 2 then only half of the images get built.


#2

The circleci build command have a --index <int> flag, which relates to the --parallelism:

--index int node index of parallelism
--parallelism int parallelism level (default 1)

Try doing something like:

circleci build --parallelism 4 --index 1
circleci build --parallelism 4 --index 2
circleci build --parallelism 4 --index 3
circleci build --parallelism 4 --index 4

#3

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.