def do_bundle()

in gui/build.py [0:0]


def do_bundle(options):
    do_uic(options, True)
    do_rcc(options, True)

    # clean previous runs
    for dirname in ("build", "dist"):
        if os.path.isdir(dirname):
            shutil.rmtree(dirname)

    # create a bundle for the application
    call("pyinstaller", "gui.spec")

    # create an installer
    if IS_WIN:
        if options.upx_path:
            call(
                options.upx_path,
                os.path.join("dist", "mozregression-gui", "mozregression-gui.exe"),
            )
        makensis_path = os.path.join(options.nsis_path, "makensis.exe")
        call(makensis_path, "wininst.nsi", cwd="wininst")
    elif IS_MAC:
        Path("dist/mozregression GUI").unlink()
        with tarfile.open("mozregression-gui-app-bundle.tar.gz", "w:gz") as tar:
            tar.add(r"dist", arcname="mozregression-gui-app-bundle")
    else:
        # seems like some qml stuff is also bundled on Linux
        try:
            shutil.rmtree(os.path.join("dist", "mozregression-gui", "PySide6", "qml"))
        except FileNotFoundError:
            pass
        with tarfile.open("mozregression-gui.tar.gz", "w:gz") as tar:
            tar.add(r"dist/mozregression-gui", arcname="mozregression-gui")