[
https://issues.apache.org/jira/browse/DISPATCH-1739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17171806#comment-17171806
]
ASF GitHub Bot commented on DISPATCH-1739:
------------------------------------------
jiridanek edited a comment on pull request #809:
URL: https://github.com/apache/qpid-dispatch/pull/809#issuecomment-669580879
Caching npm is not helpful, but caching compiles with ccache is. The
Build/Compile step in this PR takes under 2 minutes when the cache is ready.
I've checked few combinations of shard count and thread count. I certainly
don't want to go higher than -j2, due to spurious failures on timeouts that
happen often with more threads. Keeping the shard count low is good for
ergonomic, to have small number of PR jobs. So I am going with two shards and
two threads, in the end. It runs for about 12 minutes (build + the slower of
the shards), which should be OK for now. The equivalent job on Travis takes 30
minutes.
Skipping Proton tests/examples won't help much, when ccache is already
deployed. Skipping the Console build for ASan GH Action is helpful, it saves
almost two minutes of the compile time. Partitioning the tests into shards in
an intelligent manner (using knowledge of their past duration) would help a
lot, but that adds complications. Maybe next time.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Use GitHub Actions w/ sharding and bubblewrap for some fast CI
> --------------------------------------------------------------
>
> Key: DISPATCH-1739
> URL: https://issues.apache.org/jira/browse/DISPATCH-1739
> Project: Qpid Dispatch
> Issue Type: Improvement
> Components: Tests
> Affects Versions: 1.12.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Major
> Fix For: 1.13.0
>
>
> GitHub Actions is a task runner associated with a GitHub project. It is
> conceptually similar to Travis, except that it has some extra features, and
> the waits for computational resources are much shorter (currently).
> Sharding is a technique to speed up the execution of tests. Instead of
> running the tests on one machine one after another, copy the build directory
> over to multiple machines, say two, and have the first execute the
> odd-numbered and the second one the even-numbered tests. With luck (if
> copying the build directory is relatively fast, and the tests all take
> approximately the same time), this will cut the execution time in half.
> Bubblewrap (https://github.com/containers/bubblewrap) is a sandboxing tool
> available on Ubuntu and other systems. It is similar to systemd-nspawn except
> it does not require sudo or user namespace support in the kernel. It is
> similar to docker, except it does not use images, instead it selectively
> mounts directories from the host. Bubblewrap can create an isolated network
> namespace, which allows running multiple tests at the same time, each in its
> own bubblewrap sandbox, and they don't clash on ports. With bubblewrap,
> running {{ctest -j4}} is safe.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]