Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-1739

Use GitHub Actions w/ sharding and bubblewrap for some fast CI

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.12.0
    • 1.13.0
    • Tests
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              jdanek Jiri Daněk
              jdanek Jiri Daněk
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: