Coder Social home page Coder Social logo

Comments (10)

edwinRNDR avatar edwinRNDR commented on July 20, 2024 2

Hi @SimonDanisch the problem may be that setup-opengl may not work on ubuntu-latest. If possible you can try to use the older ubuntu image.

I will have a go at building support for the newer Ubuntu image(s).

from setup-opengl.

edwinRNDR avatar edwinRNDR commented on July 20, 2024

I think the problem may be that it is running Focal instead of Bionic. Is it possible to try to run it on Bionic?

from setup-opengl.

SimonCoste avatar SimonCoste commented on July 20, 2024

Hello, I have the same problem as mentioned by @SimonDanisch. I am trying to use a package using OpenGL (it is GLMakie, the same for which SDanish opened the issue); in my deploy.yml I have

name: Build and Deploy
on:
  push:
    branches:
      - main
      - master
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        persist-credentials: false
    # NOTE: Python is necessary for the pre-rendering (minification) step
    - name: Install python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'

    # Set up OpenGL ? ======>problem here
    - name: Set up OpenGL
      uses: openrndr/[email protected]
    
    # extra stuff

and during the deployment I end up with a Xvfb-run: error: Xvfb failed to start:

xvfb-run: error: Xvfb failed to start
(node:1657) UnhandledPromiseRejectionWarning: Error: The process '/home/runner/work/_actions/openrndr/setup-opengl/v1.1/setup-opengl.sh' failed with exit code 1
at ExecState._setResult (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:574:25)
at ExecState.CheckComplete (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:557:18)
at ChildProcess. (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:451:27)
at ChildProcess.emit (events.js:210:5)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
(node:1657) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1657) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Since I have runs-on: ubuntu-latest I guess that I am well running on Bionic. If it's not the case how can I ensure it ?

@SimonDanisch , any feedback on this issue ?
Thanks !

from setup-opengl.

SimonDanisch avatar SimonDanisch commented on July 20, 2024

Have a look at the current GLMakie config: https://github.com/JuliaPlots/Makie.jl/blob/master/.github/workflows/glmakie.yaml#L56

from setup-opengl.

SimonDanisch avatar SimonDanisch commented on July 20, 2024

Uh, this was some time ago - It either didn't run on Bionic, or I had to use ubuntu-latest for other reasons... There's also a chance that I didn't try it, because I already had another solution up and running by the time you answered, and in general prefer to run on the latest version.

from setup-opengl.

artnie avatar artnie commented on July 20, 2024

I have the same issue when building with focal for our CI build. Our stuff is running tests with the libglut library, which I hope is included when installing OpenGL in the CI container. My script uses: openrndr/[email protected], and the xvfb-run glxinfo afterwards naturally doesn't run either. That's were the build fails.

Is there a later version that works with focal, or do you know an alternative how to get OpenGL, or more specifically, libglut to run in a github action?

Edit: OpenGL or any kind of virtual desktop + libglut would do the trick. There are probably ways to hack it in headless systems, but with github actions I down know...

setup-opengl print:

...
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  mesa-utils
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 34.2 kB of archives.
After this operation, 150 kB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu focal/universe amd64 mesa-utils amd64 8.4.0-1build1 [34.2 kB]
Fetched 34.2 kB in 0s (503 kB/s)
Selecting previously unselected package mesa-utils.
(Reading database ... 
(Reading database ... 5%
...
(Reading database ... 265195 files and directories currently installed.)
Preparing to unpack .../mesa-utils_8.4.0-1build1_amd64.deb ...
Unpacking mesa-utils (8.4.0-1build1) ...
Setting up mesa-utils (8.4.0-1build1) ...
Processing triggers for man-db (2.9.1-1) ...
Reading package lists...
Building dependency tree...
Reading state information...
xvfb is already the newest version (2:1.20.[13](https://github.com/artnie/cram/runs/7975812876?check_suite_focus=true#step:4:14)-1ubuntu1~20.04.3).
0 upgraded, 0 newly installed, 0 to remove and [14](https://github.com/artnie/cram/runs/7975812876?check_suite_focus=true#step:4:15) not upgraded.
xvfb-run: error: Xvfb failed to start
(node:10317) UnhandledPromiseRejectionWarning: Error: The process '/home/runner/work/_actions/openrndr/setup-opengl/v1.1/setup-opengl.sh' failed with exit code 1
    at ExecState._setResult (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:574:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:557:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/openrndr/setup-opengl/v1.1/node_modules/@actions/exec/lib/toolrunner.js:451:27)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:[16](https://github.com/artnie/cram/runs/7975812876?check_suite_focus=true#step:4:17))
    at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)
(node:103[17](https://github.com/artnie/cram/runs/7975812876?check_suite_focus=true#step:4:18)) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:10317) [DEP00[18](https://github.com/artnie/cram/runs/7975812876?check_suite_focus=true#step:4:19)] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

from setup-opengl.

edwinRNDR avatar edwinRNDR commented on July 20, 2024

@artnie I have recently moved away from setup-opengl because the default mesa install on ubuntu-20.04 is backed by llvm-pipe. llvm-pipe has seen big improvements while development on openswr (which is used by setup-opengl) seems to have stagnated or halted. I am able to run advanced opengl apps on the stock mesa install, for example here https://github.com/openrndr/orx/blob/master/.github/workflows/generate-screenshots.yml

from setup-opengl.

douira avatar douira commented on July 20, 2024

I would like to note that the official documentation suggests using runs-on: ubuntu-latest which is misleading given that it doesn't work. Maybe this issue can be at least solved on a DX-level by updating the documentation.

from setup-opengl.

hamoid avatar hamoid commented on July 20, 2024

@douira Do you know of an alternative ubuntu version that works?

from setup-opengl.

JBartscher avatar JBartscher commented on July 20, 2024

bionic is deprecated for github workflows by now

from setup-opengl.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.