Closed elima closed 7 months ago
Ok, so after quite a few iterations on this, I got something that work (sometimes). There is some kind of timing issue that is being challenging to pinpoint. Depending on the ordering of the action that runs chromium compared to when AT-SPI services are launched, and when the dump tree tests are run; we get a pass or fail.
Some important findings:
QT_ACCESSIBILITY=1
XDG_RUNTIME_DIR=/run/user/1001
It took a fair amount of time to find this (undocumented) magic.
WIP: Apart from the flakiness of the workflow, there is an issue with python bindings where SWIG complains that it can't find std_unique_ptr.i
. This only happens in the runner. I'm investigating it.
Ok, some more progress:
atspi
library via pkgconfig --libs
in bindings.gyp
didn't work. I found a solution by specifying the dependency libraries in a new "libraries" section in binding.gyp.in
. So that is the somewhat unrelated hunk in this patch about.std_unique_ptr.i
. Oddly enough, NodeJS module builds ok. I have filed #195 to track this issue. But this means that this workflow has python disabled so the chromium a11y tree is only dumped from native and nodejs dump_tree_atspi
examples.I'm opening this up for review as-is.
This will supersede existing workflow because it already include building the NodeJS module on Linux.
The workflow will:
dump_tree_atspi
examples.There is a timeout of 5 minutes for the whole workflow. We should remember to increase it if we make it more complex in the future, or if it starts to fail due to timeout.