devops: adds test action; makes run-all-checks exit with proper status code#150
devops: adds test action; makes run-all-checks exit with proper status code#150
Conversation
|
Notes:
|
I like shell scripts, and I don't know Ruby/rake too much. What would the technical advantage be? Performance?
I agree that this is highly suboptimal. We may need to ditch htmlproofer on CI in favor of some more-targeted-but-faster internal link checking. Any ideas for a good candidate? If not, rolling our own wouldn't be that difficult. |
|
For now, maybe just disable the |
|
My mistake, the shell script was incorrect. Just updated it; we have two failing checks, a small one on GitHub usernames and some shenanigans with the includes check. I'm not super familiar with these, @ctrueden do you have any pointers on what I should do here?
I would think that we'd get significant performance benefits - afaik (not entirely sure about this) running HTMLProofer from Ruby gives you parallelism benefits (currently the shell script runs it independently on every single file, in a blocking fashion), and we skip a bunch of syscalls/context switches into shell. But, this is also not my area of expertise! We also get some type benefits (i.e. only passing in valid parameters to the object).
I haven't had to do link-checking for a project on this scale before, but my understanding is that HTMLProofer is one of the better Ruby alternatives. Maybe we should first explore running it from Ruby + tweaking the options? If things don't work out, I can help look into alternatives. |
03d0f3c to
6f83a2b
Compare
This PR does two things:
run-all-checks.shafter building the siterun-all-checks.shto exit with the correct status code depending on the status of the testsAs a note,
run-all-checks.shtakes a pretty non-trivial amount of time; I also think that some of these scripts could be done usingrakeand going directly into the Ruby tool, rather than through a shell script; but, that's out of scope for this PR!Part of #92.