-
Notifications
You must be signed in to change notification settings - Fork 15
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
CI for xdpm with GitHub actions #35
base: master
Are you sure you want to change the base?
Conversation
Thanks Pablo. Trying to have a look. We aren't quite sure how to test/debug an action before merging, so looking into that first. Actions are new to me so I'm curious: how were you able to run the action while developing it? |
Of course. You can see the (current) output of it here. It really is committing, looking at the output and iterating. In this case, it wasn't too complicated, as it's basically just running a sequence of commands, but otherwise, I really just commit, wait for the CI logs, look at it, try to correct mistakes and so on over and over again (resulting in very boring commit messages such as Trying to get CI working, Fixing the CI config (probably?) and similar 😉). Quite honestly, I'm already kind of familiar with Actions (as I had joined the Beta and used them in some server-state-repos), meaning this was done in relatively few commits (and it was basically just adding things I knew how to do) and when I initially tested those first Actions, it really was just as stated above: countless commits leading up to a working CI, so -- there's that 🙂. I have to say, however: Since GH Actions run quite fast, this is ok as a workflow. I remember building something for GitLab CI and it took me ~15 hours or so to get it working (every change required around 12 minutes of execution in the CI until I got results based on which I could iterate...) |
OK! I spent a little time getting up to speed on actions and these are really cool. Thanks for start this. Mind if I contribute some work to the branch on your fork? |
Actually, @kerrishotts and I were just looking at this and we think your test and the actions are working as expected. Instead, your test has exposed a bug in xdpm. From one of your runs:
In I'm not yet sure if fixing this in the code will mean that since the script fails in the right way the test will pass, but we'll need to fix the bug either way. |
@ashryanbeats Yes, that's a bug with Basically, my CI workflow currently has a problem with false negatives in |
Thanks @pklaschka. I'm starting to wonder if the point of GitHub Actions is that we should be writing things that are supposed to pass, rather than checking for things that are supposed to fail (although I too want to do both). I did a little hacking on the actions you set up: In that fork, the changes worth noting:
Here's the result: You'll note that there are no more failure annotations. This may not be the final result we're looking for, but I'm hoping this is helpful. |
Another thought to keep in mind is that the |
Note: edited 2 comments up to link to the correct branch's yml file. |
@ashryanbeats Oops, sorry. You'll have to open another PR into pklaschka:github-actions to get reflected here. My master branch has some experimental Linux Subsystem for Windows stuff in it, too, cf. #21. We've accidentally merged this into my master-branch, which is therefore not usable for this PR... |
Curent CI results: https://github.com/pklaschka/xdpm/runs/372148630 |
LGTM, but I'd like to write a test coverage instead of |
Description
Added a GitHub actions workflow to add some basic CI, meaning Code Review etc. no longer needs everyone to pull the current changes, but just requires looking at the output of the CI.
Currently, I haven't found a way to let the test fail when something that should fail passes (e.g., if
xdpm validate
passed while outside a plugin dir), but it is a first step into the right direction; I'm more than open for input on how better CI could get achieved for such a CLI.Related Issue
This somewhat relates to current other PRs where I've been doing QA. Always having to clone the project to check output is kind of annoying and slows down the review process by a lot, but this doesn't necessarily fix any particular issues.
Motivation and Context
How Has This Been Tested?
This is a test by itself. Testing tests would get kind of Meta (who would test this next level of tests, after all), so I've manually tried it 😜 . It is, however, not really functional, meaning it only is required to be a valid GH Actions workflow...
Screenshots (if appropriate):
n/a
Types of changes
Checklist: