ref: #1875
TL;DR We have to test unit tests requiring root on GitHub actions images, which reduces coverage and is inefficient to spin up a whole instance just for one package of tests. We should consolidate once the appropriate conditions are met.
Our current CI for testing runs on CodeBuild runners and kernel 4.14. Newest Ubuntu runners provided by GitHub as of this issue are using Ubuntu 24-04 on kernel 6.14.
CodeBuild's old kernel causes issues when doing mount syscalls in root unit tests. CodeBuild moving to 5.10 should fix this specific issue. However I was having some trouble locally getting tests to pass, as the overlay testing suite's Rename call seems to attempt to rename across devices which is not supported with os.Rename. I was able to consistently reproduce it across EC2 instances but for some reason GitHub runners do not seem to have this issue. I suspect there's a setup difference here causing the failure in one but not the other, but I'm not certain as I haven't yet gotten CodeBuild runners to run this test successfully due to aforementioned kernel issues.
#1875 provides a workaround for this by just running root unit tests in a separate runner, however this is obviously suboptimal. On top of provisioning an entire runner just for the few unit tests, we also do not get proper test coverage.
When CodeBuild moves to 5.10, we should see if we can run root tests on CodeBuild. If so, we should combine the two tests. Example of how this could be done: sondavidb@8d13c20
Once we no longer have to rely on a separate runner specifically for root unit tests, this issue can be closed.
ref: #1875
TL;DR We have to test unit tests requiring root on GitHub actions images, which reduces coverage and is inefficient to spin up a whole instance just for one package of tests. We should consolidate once the appropriate conditions are met.
Our current CI for testing runs on CodeBuild runners and kernel 4.14. Newest Ubuntu runners provided by GitHub as of this issue are using Ubuntu 24-04 on kernel 6.14.
CodeBuild's old kernel causes issues when doing mount syscalls in root unit tests. CodeBuild moving to 5.10 should fix this specific issue. However I was having some trouble locally getting tests to pass, as the overlay testing suite's
Renamecall seems to attempt to rename across devices which is not supported withos.Rename. I was able to consistently reproduce it across EC2 instances but for some reason GitHub runners do not seem to have this issue. I suspect there's a setup difference here causing the failure in one but not the other, but I'm not certain as I haven't yet gotten CodeBuild runners to run this test successfully due to aforementioned kernel issues.#1875 provides a workaround for this by just running root unit tests in a separate runner, however this is obviously suboptimal. On top of provisioning an entire runner just for the few unit tests, we also do not get proper test coverage.
When CodeBuild moves to 5.10, we should see if we can run root tests on CodeBuild. If so, we should combine the two tests. Example of how this could be done: sondavidb@8d13c20
Once we no longer have to rely on a separate runner specifically for root unit tests, this issue can be closed.