Project Description

multipath-tools is in urgent need of better CI, both unit tests and "real world" tests. We a very basic set of unit tests, but the coverage is miserable. Also, there's some minimal github workflow code, which could be improved a lot while I'm learning about github workflows.

Goal for this Hackweek

Improve github workflows: add workflows for non-intel architectures for compilation and at least part of the unit tests. Add some more unit tests.

Hackweek 20 results

It took a while to figure out ways how to run multiarch build and unit tests on Github. I eventually got all the puzzle pieces together. The results can be seen in the actions page of the openSUSE multipath-tools repository, where I can now run automated build and (admittedly quite sparse) unit test CI for multipath-tools on 7 different distros and 5 architectures (I could do more, but it would be overkill). The effort relies heavily on the build-multipath project, where I'd collected container specifications for building multipath for some time. Who knows, maybe this will turn into a more generic build recipe in the future.

Looking for hackers with the skills:

c ci github containers

This project is part of:

Hack Week 20

Activity

  • over 4 years ago: mwilck added keyword "containers" to this project.
  • over 4 years ago: mwilck started this project.
  • over 4 years ago: mkubecek liked this project.
  • over 4 years ago: mwilck added keyword "c" to this project.
  • over 4 years ago: mwilck added keyword "ci" to this project.
  • over 4 years ago: mwilck added keyword "github" to this project.
  • over 4 years ago: mwilck originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    pudc - A PID 1 process that barks to the internet by mssola

    Description

    As a fun exercise in order to dig deeper into the Linux kernel, its interfaces, the RISC-V architecture, and all the dragons in between; I'm building a blog site cooked like this:

    • The backend is written in a mixture of C and RISC-V assembly.
    • The backend is actually PID1 (for real, not within a container).
    • We poll and parse incoming HTTP requests ourselves.
    • The frontend is a mere HTML page with htmx.

    The project is meant to be Linux-specific, so I'm going to use io_uring, pidfs, namespaces, and Linux-specific features in order to drive all of this.

    I'm open for suggestions and so on, but this is meant to be a solo project, as this is more of a learning exercise for me than anything else.

    Goals

    • Have a better understanding of different Linux features from user space down to the kernel internals.
    • Most importantly: have fun.

    Resources