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
GitHub actions #2714
GitHub actions #2714
Conversation
FYI @yonghong-song because you mentioned being interested in this in #2710 |
cf41a39
to
201928a
Compare
@dalehamel Looks great. Thanks! I am new to github actions. But looks a really good alternative for jenkins. |
For the test_libbcc failure, it requires the following (test_pinned_table.cc)
Maybe the above failed in github VMs? For |
Oh ok, I'll check this out. I should be able to do this as part of the test initialization. Thanks for the tip @yonghong-song
I installed these, check the Dockerfile. The failures still occur, it looks like a device is not in the state it expects. |
The test also failed in my fc31 environment. I will take a look today as well. |
Oh this was a red herring - these aren't test failures at all. It looks like this test case expects a failure, and tests for it. This is just the (expected) output. Nowhere else is this table mentioned. I think that this test is working as expected. |
I debugged test_brb.py failure on fc31. The following change can fix the issue. I will send a pull request soon.
Basically, for pyroute2 package on fc31, the 'lo' interface already up. It looks like to commit an already up interface on fc31 caused exceptions. The test_brb2 failed with the following:
Off by 1 error. The |
@yonghong-song oh great - so those are the root of the
Awesome! What should I do for this PR? There are a couple of failing tests still, but I'm not sure which ones also fail on Jenkins. |
I merged the patch to fix test_brb.py issue on fc31. Could you rebase and resubmit? How do I check github actions results? |
[buildbot, test this please] |
[buildbot, ok to test] |
I just kicked the jenkins test. I will post the testing result once it is done. |
Yeah i'm working on this now on a separate branch, I'm rebasing your changes.
Just push a copy of this branch to your a private fork for now, then you can see the results no the actions tab. For me this looks like: |
7a343d4
to
ba8afaa
Compare
hmm the tests are hanging, I think that one of my tests may have left a zombie ruby process... edit: yeah, it needs the |
hmm now the tests are hanging on |
Could you apply the following change
to see whether the test can pass or not? |
@yonghong-song it still seems to hang on this test in the CI environment unfortunately... |
@yonghong-song I reverted your commit on my branch and it no longer hangs, interesting. |
It also seems like the kernel version is not being detected correctly. I see errors in tests that are only supposed to run on 4.17 or newer, but are running on the 4.15 kernel : / |
Looks like github actions works? The only failure is |
@yonghong-song the libbcc tests pass (except for the 3 that are marked to allow failures, which report but don't trigger failure), but for the I'll try and SSH in to the test runner to see if I can figure out these failures. I'd really like if this could be merged fully green, but these last few python tests are proving tricky. |
It looks like in the CI environment the operstate for |
Great. Thanks for debugging this. |
Ok I've fixed a bunch of the tests, but there are still a few failing. On the 4.15 kernel:
and on the 5.0.0 kernel:
I'm wondering if I should just mark these as "ok to fail" for now, i think it will probably take some time to get them ship-shape again. Are all of these passing on jenkins @yonghong-song ? |
279ed6a
to
92042c5
Compare
@yonghong-song ok, this should be pretty close to ready for review. I added a python test helper to decorate tests that fail on github actions with The better solution will be to actually fix these tests on github actions, but that will require some more debugging time for each of them. This allows for keeping track of these failing tests, so they can be improved incrementally. I can file an issue for these failing tests if you're ok with this approach. |
e3bdabc
to
026ab01
Compare
With this commit, pushes to branches can trigger tests directly on Github Actions. Here it will be able to test against kernel 4.14 and 5.0.0, which correspond to the latest Ubuntu LTS kernel releases. Tests are run for both Debug and Release modes. Tests run inside docker, in an ubuntu 19.04 container base. For the github workflow: - The test_libbcc suite is run first, to potentially fail fast on these faster unit tests. - The Python test suite is run Some of these tests are allowed to fail, but the failure is still reported: - In catch2 tests, using the [!mayfail] tag, where this will be displayed in the test summary - In Python unittests, using the `@mayFail("Reason")` decorator, which is introduce for consistency with catch2. These will report the reason for the failure, and log this to an artifact of the test.
026ab01
to
cbbc2c4
Compare
I've gotten this to be green by introducing a parallel concept to the catch2 |
@dalehamel Thanks! Looks great. Perfect is the enemy of the good. We can address the remaining test issues later. I will wait to merge until tomorrow morning just in case that anybody has additional comments. |
test_libbcc
Currently this appears to actually be running more test cases than on jenkins:
But on jenkins for libbcc I see:
Python tests
There are a few python tests that needed to be skipped for now with
@mayFail
. Fixing these I think is outside of the scope of adding github actions, and these failures seem to be legitimate.These failures are summarized as part of the action run, and the logs are explicitly added as an artifact. An issue should be cut to fix these up once this is merged.