* Only install Python deps with deps script * Remove hard-coded Qt version in CI * Add example .env * Improve comments in .env file * Simplify config reader and Choco CI config * Actually return the config value * Move deps before Qt version env call * Remove `self.` * Move venv ensure to main * Fixed arg * Move config import to function * Move ensure_module to function * Simplify over-complicated `Version.cmake` * Move code to `github` module * Use `symless/next-version-action` * Make CMake version file even simpler * Set version from tag * Create release when master or release branch * Don't run CI on master push, only release * Fixed bac macro * Use new version values * Handle empty version env var * Also strip version file value * Remove quotes * Add @master to action * Read version from file * Simplify version file read * Fixed typo in env var * Remove unused var * Delete legacy build number action * Fixed env var * Version file read shouldn't be needed * Remove weird and unnecessary include path * Update ChangeLog * Remove unused config value * Better name for changelog check * Delete broken Flatpak CI * Run stale issue cron at midnight * Update ChangeLog * Add version input for manual run * Print next version * Fetch all tags * Use more idiomatic approach * Set to pre-release when master * Remove unnecessary `commitish` * Fixed wrong ID * More specific IDs * Reduce config needed for upload * Only /release can be non-pre-release * More discreet package path for gdrive * Try without setting path * Remove seemly unused step * Better name for Qt version step * Fixed bad var ref * Better name for package dir * Fixed bad input name * Add missing shell * Workflow to test upload action * Remove fetch tags * Use bash to cut version * Remove name and make conditional * Replace deprecated set-output * Fixed env var name * Missing dir sep char * Add comment to test workflow * Improve input descriptions * Replace deprecated set-output
57 lines
1.2 KiB
Python
Executable File
57 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import platform
|
|
from lib import env
|
|
|
|
env_file = ".env"
|
|
package_filename_product = "synergy"
|
|
|
|
|
|
def main():
|
|
# important: load venv before loading modules that install deps.
|
|
env.ensure_in_venv(__file__)
|
|
|
|
env.ensure_module("dotenv", "python-dotenv")
|
|
from dotenv import load_dotenv # type: ignore
|
|
|
|
load_dotenv(dotenv_path=env_file)
|
|
|
|
version = env.get_app_version()
|
|
filename_base = get_filename_base(version)
|
|
print(f"Package filename base: {filename_base}")
|
|
|
|
if env.is_windows():
|
|
windows_package(filename_base)
|
|
elif env.is_mac():
|
|
mac_package(filename_base)
|
|
elif env.is_linux():
|
|
linux_package(filename_base)
|
|
else:
|
|
raise RuntimeError(f"Unsupported platform: {env.get_os()}")
|
|
|
|
|
|
def get_filename_base(version):
|
|
os = env.get_os()
|
|
machine = platform.machine().lower()
|
|
return f"{package_filename_product}-{version}-{os}-{machine}"
|
|
|
|
|
|
def windows_package(filename_base):
|
|
"""TODO: Windows packaging"""
|
|
pass
|
|
|
|
|
|
def mac_package(filename_base):
|
|
from lib import mac
|
|
|
|
mac.package(filename_base)
|
|
|
|
|
|
def linux_package(filename_base):
|
|
"""TODO: Linux packaging"""
|
|
pass
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|