[Solved] Different builds from launcher and script

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
SiegeWizard
Newbie
Posts: 6
Joined: Wed Jun 23, 2021 4:50 am
Github: Siege-Wizard
Contact:

[Solved] Different builds from launcher and script

#1 Post by SiegeWizard »

I have been working in collaboration with a VN author in order to make continuous integration workflows that automatically create the required builds instead of having to do it manually. Simply speaking, whenever a new release is ready, he can press a button and all the different builds (different platforms and with some differences in content) are created and uploaded to the corresponding site. This worked fine, and some versions were already using this automatic workflow successfully. However, as you cna imagine, I woulnd't be here if everything were good news. Last release broke the automatic builds.

The script runs the following line after downloading the 7.3.5 SDK version (that's the same version we are using through the launcher).

Code: Select all

renpy.sh launcher distribute --package "pc" .
As I said, building from the launcher for both PC and Mac work without any error, but running the script for any of those two platforms return the following error. I've already checked that after returning this error for the latest release, the remote machine is still able to build the previous version that was working, so it doesn't seem to be anything related with changes there. It seems to be some of the content added in the last release of the VN, but the author told me there has not been any video or sound added/modified. Any clue where this error could come from?

Code: Select all

Scanning project files...

Full traceback:
  File "/github/renpy/renpy/bootstrap.py", line 316, in bootstrap
    renpy.main.main()
  File "/github/renpy/renpy/main.py", line 565, in main
    renpy.display.core.Interface()
  File "/github/renpy/renpy/display/core.py", line 1659, in __init__
    renpy.audio.audio.init()
  File "/github/renpy/renpy/audio/audio.py", line 860, in init
    renpysound.init(renpy.config.sound_sample_rate, 2, bufsize, False, renpy.config.equal_mono)
  File "renpysound.pyx", line 383, in renpy.audio.renpysound.init
  File "renpysound.pyx", line 98, in renpy.audio.renpysound.check_error
Exception: No such audio device

After initialization, but before game start.
Exception: No such audio device

Full traceback:
  File "/github/renpy/renpy/bootstrap.py", line 316, in bootstrap
    renpy.main.main()
  File "/github/renpy/renpy/main.py", line 578, in main
    run(restart)
  File "/github/renpy/renpy/main.py", line 106, in run
    if not renpy.arguments.post_init():
  File "/github/renpy/renpy/arguments.py", line 287, in post_init
n commands[command]()
  File "game/distribute.rpy", line 1504, in distribute_command
    Distributor(p, destination=args.destination, reporter=TextReporter(), packages=packages, build_update=args.build_update, noarchive=args.no_archive, packagedest=args.packagedest, macapp=args.macapp)
  File "game/distribute.rpy", line 453, in __init__
    project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
  File "game/project.rpy", line 300, in update_dump
    self.launch(["compile", "--keep-orphan-rpyc" ], wait=True)
  File "game/project.rpy", line 281, in launch
    interface.error(_("Launching the project failed."), _("Please ensure that your project launches normally before running this command."))
  File "game/interface.rpy", line 360, in error
    common(_("ERROR"), store.ERROR_COLOR, message=message, submessage=submessage, back=action, **kwargs)
  File "game/interface.rpy", line 326, in common
    return screen_func("common", title=title, title_color=title_color, message=message, submessage=submessage, back=back, continue_=continue_, **kwargs)
  File "/github/renpy/renpy/exports.py", line 2905, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "/github/renpy/renpy/ui.py", line 297, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "/github/renpy/renpy/display/core.py", line 2665, in interact
    self.start()
  File "/github/renpy/renpy/display/core.py", line 1805, in start
    self.set_mode()
  File "/github/renpy/renpy/display/core.py", line 2055, in set_mode
    raise Exception("Could not set video mode.")
Exception: Could not set video mode.

After initialization, but before game start.
  File "game/distribute.rpy", line 1504, in distribute_command
    Distributor(p, destination=args.destination, reporter=TextReporter(), packages=packages, build_update=args.build_update, noarchive=args.no_archive, packagedest=args.packagedest, macapp=args.macapp)
  File "game/distribute.rpy", line 453, in __init__
    project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
  File "game/project.rpy", line 300, in update_dump
    self.launch(["compile", "--keep-orphan-rpyc" ], wait=True)
  File "game/project.rpy", line 281, in launch
    interface.error(_("Launching the project failed."), _("Please ensure that your project launches normally before running this command."))
  File "game/interface.rpy", line 360, in error
    common(_("ERROR"), store.ERROR_COLOR, message=message, submessage=submessage, back=action, **kwargs)
  File "game/interface.rpy", line 326, in common
    return screen_func("common", title=title, title_color=title_color, message=message, submessage=submessage, back=back, continue_=continue_, **kwargs)
Exception: Could not set video mode.
Last edited by SiegeWizard on Thu Jun 24, 2021 7:10 am, edited 1 time in total.

SiegeWizard
Newbie
Posts: 6
Joined: Wed Jun 23, 2021 4:50 am
Github: Siege-Wizard
Contact:

Re: Different builds from launcher and script

#2 Post by SiegeWizard »

Solution:

Set the following env variables:

Code: Select all

SDL_AUDIODRIVER: dummy
SDL_VIDEODRIVER: dummy
Suggested in discord by @cobaltcore

Post Reply

Who is online

Users browsing this forum: AWizardWithWords