Skip to content
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

Add github workflow to launch Chromium and dump its tree on Linux #132

Merged
merged 1 commit into from
Apr 5, 2024

Conversation

elima
Copy link
Contributor

@elima elima commented Mar 14, 2024

This will supersede existing workflow because it already include building the NodeJS module on Linux.

The workflow will:

  • Install and launch headless chromium
  • Build acacia native library, examples and tests; and NodeJS module, example and tests (see AT-SPI Python module fails to build on CI runner #195 to understand why not Python).
  • Run the test suite via ctest (make test).
  • Dump the chromium a11y tree from native and nodejs 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.

@elima elima self-assigned this Mar 14, 2024
@elima elima force-pushed the gh-workflows-chromium branch 29 times, most recently from 6440467 to dbb1580 Compare March 14, 2024 15:09
@elima elima force-pushed the gh-workflows-chromium branch 4 times, most recently from b639735 to 2960a38 Compare April 5, 2024 08:46
@elima elima marked this pull request as ready for review April 5, 2024 08:48
@elima elima force-pushed the gh-workflows-chromium branch 17 times, most recently from f57f9e3 to e1a4dae Compare April 5, 2024 11:10
@elima elima changed the title DRAFT: Add workflow to launch Chromium and dump its tree on Linux Add github workflow to launch Chromium and dump its tree on Linux Apr 5, 2024
@elima
Copy link
Contributor Author

elima commented Apr 5, 2024

Ok, some more progress:

  • Finally I think I fixed the flakiness running dump_tree. At least I have not got any new failure in the last ~15 runs.
  • I found a problem with the linked libraries of the NodeJS module. In the github runner (and only in the runner), specifying the 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.
  • I found that Python binding doesn't build in the github runner. SWIG fails saying it can't find std_unique_ptr.i. Oddly enough, NodeJS module builds ok. I have filed AT-SPI Python module fails to build on CI runner #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 the existing workflow that builds NodeJS module on
Linux because it already includes that.
Copy link
Contributor

@spectranaut spectranaut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hurray!

@spectranaut spectranaut merged commit 777557a into main Apr 5, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants