Add github workflow to launch Chromium and dump its tree on Linux #10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Dump Chromium Accessiblity Tree on Linux | |
on: | |
pull_request: | |
branches: [main] | |
jobs: | |
launch_chromium: | |
name: Run dump tree examples against Chromium on Linux | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Install System dependencies | |
run: sudo apt install -y at-spi2-core libatspi2.0-dev libnode-dev | |
- name: Install Chromium | |
run: sudo apt install -y chromium-browser | |
- name: Launch D-Bus Session bus service | |
run: dbus-daemon --session & | |
- name: Launch AT-SPI2 service | |
run: | | |
mkdir -p /run/user/1001/at-spi | |
/usr/libexec/at-spi-bus-launcher & | |
/usr/libexec/at-spi2-registryd --use-gnome-session & | |
- name: Install node-gyp | |
run: sudo npm install -g node-gyp | |
- name: Launch Chromium | |
shell: bash | |
run: | | |
export QT_ACCESSIBILITY=1 | |
export XDG_RUNTIME_DIR=/run/user/1001 | |
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus | |
/usr/bin/chromium --force-renderer-accessibility --headless=new --disable-gpu "https://igalia.com" > /dev/null 2>&1 & | |
- name: Install SWIG 4.1.0 | |
run: | | |
wget "https://github.com/swig/swig/archive/refs/tags/v4.1.0.tar.gz" | |
tar -axf v4.1.0.tar.gz | |
cd swig-4.1.0 | |
./autogen.sh | |
./configure --without-alllang --with-javascript --with-jsv8inc=/usr/include/v8 --with-jsv8lib=/usr/lib --with-python3 | |
make -j | |
sudo make install | |
- uses: actions/checkout@v3 | |
- name: Configure Project | |
run: | | |
mkdir -p build | |
cd build | |
cmake .. -DACACIA_NODEJS=on -DACACIA_PYTHON=off -DACACIA_TESTS=on | |
- name: Build project | |
run: | | |
cd build | |
make -j | |
- name: Run dump_tree_atspi examples | |
shell: bash | |
run: | | |
cd build | |
find /usr/lib -name "libatspi*" | |
ldd ./tests/atspi/acacia_atspi.node | |
export LD_LIBRARY_PATH="`pwd`/lib/atspi:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" | |
echo $LD_LIBRARY_PATH | |
which node | |
node ./examples/atspi/dump_tree_atspi.js --name chromium |