在 GitHub Actions 上测试时使用 headless wayland / sway

mdl*_*oln 7 headless wayland github-actions

我正在尝试在 GitHub Actions 上运行一个测试套件,该套件包含用于在各种平台上调用剪贴板的实用程序。虽然我已经成功地使用 X11 基于运行为 Linux 系统设置了无头测试xvfb,但我正在努力寻找有关如何设置基于 Wayland 的无头系统来测试实用程序wl-clipboard 的文档。

我正在运行的当前操作安装sway,创建所需的XDG_RUNTIME_DIR,然后运行sway​​。我怀疑我没有sway正确启动,因为我似乎无法启动它并在其余测试运行时在后台保持运行。

      - name: Install wayland
        if: ${{ matrix.config.clip_type == 'wayland' }}
        run: |
          mkdir $XDG_RUNTIME_DIR
          chown $USER $XDG_RUNTIME_DIR
          chmod 0700 $XDG_RUNTIME_DIR
          sudo apt-get update
          sudo apt-get purge x11-*
          sudo apt-get install sway meson libwayland-dev
          echo $XDG_RUNTIME_DIR
          ls -la $XDG_RUNTIME_DIR
          sway -d -V
          cd $GITHUB_WORKSPACE/..
          git clone https://github.com/bugaevc/wl-clipboard.git
          cd wl-clipboard
          meson build
          cd build/
          sudo ninja install
          wl-copy --primary
          wl-paste --primary
          cd $GITHUB_WORKSPACE
        env:
          XDG_RUNTIME_DIR: /home/runner/work/clipr/xdg
          WLR_BACKENDS: headless
          WLR_LIBINPUT_NO_DEVICES: 1
          WAYLAND_DISPLAY: wayland-1
          GTK_USE_PORTAL: 0
Run Code Online (Sandbox Code Playgroud)

请参阅来自 的详细日志swaysway像这样在前台运行,它只是无限期地挂起。天真地尝试使用在后台运行的nohup sway &结果在后来调用实用程序时说Failed to connect to a Wayland server

对于启动和运行无头 Wayland 服务器有什么建议吗?