-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable parallel flag in bats #1128
Conversation
|
@dduportal I've updated the AMI's on ci.jenkins.io, deleted all the idle agents. but there's plenty in use, so will probably try this later on |
@timja as you might have seen, some changes had to be done to the tests. These changes might need to be extended though (I might have missed some):
|
Performances informations (while we are working on making this pass on the CI + check performances in CI): Benchmarked on my MacBookPro, i7 2,6 Ghz 6c/12t (e.g. 12 parallel jobs), 16 Go, local NVME, with Docker Desktop in a 2 vCPUs / 4Gb virtual machine
=> The impact is 3x faster when only running the Alpine test suite. It means that we can gain something, but we have to evaluate now:
|
Ok, todo list:
|
|
53fd06a
to
0e372d2
Compare
f08e8c4
to
f867ff5
Compare
Current status:
|
- Split Pipeline parallel branches per linux platform (1 agent per platform for build + test) - Makefile support: dependencies, full usage of docker-bake for image names and bats support for `--jobs` Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
- Disable test parallel execution if `docker` of GNU `parallel` are absent - Allow developers to disable parallel execution by setting the variable `DISABLE_PARALLEL_TESTS` to `true` - Update documentation on `HACKING.adoc` Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
@timja @MarkEWaite @slide @saper @olivergondza I don't have the maintainers rights on this repo so I cannot put it as "ready for review", neither edit the message so I'm mentionning you here. TL;DR;
(ref. #1120 (comment)) |
New attempt to run |
I have completed
I noticed also that |
Changing the list target to:
shows that "make list" runs fine, but in "make test" one gets
in /tmp/list1 file. Personally I don't like using
(that makes inserting "tee" for debugging easy), and then Changing another line to
(I think we can add
in /tmp/list4 This is crazy, we should get rid of all this pseudo-make-shell programming... |
Hello @saper, thanks for your feedback.
|
@saper thanks for the reminder for using Let's tackle one problem after the other. |
Yes, I am on fb7bb3c trying to
Most probably the I am using GNU make 4.3 |
Good, thanks for confirming. I had this issue before, when I forgot the flag I'm currently using |
Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
@saper thanks for the explanation. Never thourgh to use I was able to reproduce the issue on a local Debian 10 with Make 4.2.1.
Can you retry with 3e9ef8b please? |
build: | ||
docker buildx bake -f docker-bake.hcl --set '*.platform=linux/amd64' --load linux | ||
|
||
build-arm64: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how can I build arm images now using make? I'm unable to run the default make build because alpine doesn't have an arm image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mmmh good point. We might be able to retrieve the amount of CPUs from the output of docker info
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed timja#1
I've been running the tests locally and wasn't able to make them pass, I eventually tracked it down to:
|
@timja thanks for testing! Good catch with |
I think it's just an issue with docker on mac m1, so for now I would document it and ignore, which I've done in timja#1 |
Co-authored-by: Damien Duportal <damien.duportal@gmail.com>
Any thing left on this @dduportal? @jenkinsci/team-docker-packaging please review |
@timja weird: the build fails for all images. Let's check. |
Make version issue? It passes for me on my mac |
yep, that is what I thought. Trying reproduction with: $ docker run --privileged --detach -v $(pwd):$(pwd) -w $(pwd) --name dind docker:20.10-dind
$ docker exec -ti -u root dind sh
/ # apk add --update bash curl make parallel git jq
/ # mkdir -p ~/.docker/cli-plugins/
/ # curl -sSL -o ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.6.0/buildx-v0.6.0.linux-amd64
/ # chmod a+x ~/.docker/cli-plugins/docker-buildx
/ # make build-alpine_jdk8 But it works 🤔 |
Found the issue: it's the |
|
Upgrading to 20.04 shouldn't be hard should it? |
@timja yep, that should work nicely. Let's do it in the upcoming days. |
Build is green now after updating the agents to 20.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated the HACKING doc to require jq
1.6 rather than 1.5, since 1.6 works for me on Ubuntu 18 amd64 while jq 1.5 does not work for me on Ubuntu 18.
I haven't been able to test on Amazon Linux with arm64 because jq 1.6 is not available there and the components to build jq 1.6 don't appear to be available either (needs a newer version of automake than is included).
Co-authored-by: Damien Duportal damien.duportal@gmail.com