diff --git a/.github/workflows/autotag.yml b/.github/workflows/autotag.yml index d3abce0..2363337 100644 --- a/.github/workflows/autotag.yml +++ b/.github/workflows/autotag.yml @@ -6,7 +6,7 @@ on: - "master" jobs: - build: + tag-release: runs-on: ubuntu-latest steps: - diff --git a/.github/workflows/release-docker.yml b/.github/workflows/release-docker.yml index 68f2733..357f906 100644 --- a/.github/workflows/release-docker.yml +++ b/.github/workflows/release-docker.yml @@ -6,7 +6,7 @@ on: - 'v*.*.*' jobs: - build: + build-docker-images: runs-on: ubuntu-22.04 steps: - diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24a4b4c..d749dd5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: draft: false prerelease: false - build-linux: + build-linux-package: name: Build Linux binary needs: create-release runs-on: ubuntu-22.04 @@ -65,7 +65,7 @@ jobs: with: asset_paths: '["./dist/flaresolverr_*"]' - build-windows: + build-windows-package: name: Build Windows binary needs: create-release runs-on: windows-2022 diff --git a/src/build_package.py b/src/build_package.py index 4c4d0c8..c511934 100644 --- a/src/build_package.py +++ b/src/build_package.py @@ -56,19 +56,23 @@ def download_chromium(): def run_pyinstaller(): sep = ';' if os.name == 'nt' else ':' subprocess.check_call([sys.executable, "-m", "PyInstaller", - "--onefile", "--icon", "resources/flaresolverr_logo.ico", "--add-data", f"package.json{sep}.", "--add-data", f"{os.path.join('dist_chrome', 'chrome')}{sep}chrome", os.path.join("src", "flaresolverr.py")], cwd=os.pardir) - exe_folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, 'dist') - exe_name = 'flaresolverr.exe' if os.name == 'nt' else 'flaresolverr' - exe_new_name = 'flaresolverr_windows_x64.exe' if os.name == 'nt' else 'flaresolverr_linux_x64' - exe_path = os.path.join(exe_folder, exe_name) - exe_new_path = os.path.join(exe_folder, exe_new_name) - shutil.move(exe_path, exe_new_path) - print("Executable path: " + exe_new_path) + + +def compress_package(): + dist_folder = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, 'dist') + exe_folder = os.path.join(dist_folder, 'flaresolverr') + print("Executable folder: " + exe_folder) + + compr_format = 'zip' if os.name == 'nt' else 'gztar' + compr_file_name = 'flaresolverr_windows_x64' if os.name == 'nt' else 'flaresolverr_linux_x64' + compr_file_path = os.path.join(dist_folder, compr_file_name) + shutil.make_archive(compr_file_path, compr_format, dist_folder) + print("Compressed file path: " + compr_file_path) if __name__ == "__main__": @@ -84,4 +88,7 @@ if __name__ == "__main__": print("Building pyinstaller executable... ") run_pyinstaller() + print("Compressing package... ") + compress_package() + # NOTE: python -m pip install pyinstaller