diff --git a/.github/workflows/package-windows-with-docker.yml b/.github/workflows/package-windows-with-docker.yml new file mode 100644 index 0000000..82aa2db --- /dev/null +++ b/.github/workflows/package-windows-with-docker.yml @@ -0,0 +1,63 @@ +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: build KCC for windows with docker + +on: + workflow_dispatch: + push: + tags: + - "v*.*.*" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 +# - name: Set up Python +# uses: actions/setup-python@v4 +# with: +# python-version: 3.11 +# cache: 'pip' +# - name: Install python dependencies +# run: | +# python -m pip install --upgrade pip setuptools wheel pyinstaller +# pip install -r requirements.txt +# - name: build binary +# run: | +# pyi-makespec -F -i icons\\comic2ebook.ico -n KCC_test -w --noupx kcc.py + - name: Package Application + uses: JackMcKew/pyinstaller-action-windows@main + with: + path: . + spec: ./kcc.spec + - name: Package Application + uses: JackMcKew/pyinstaller-action-windows@main + with: + path: . + spec: ./kcc-c2e.spec + - name: Package Application + uses: JackMcKew/pyinstaller-action-windows@main + with: + path: . + spec: ./kcc-c2p.spec + - name: rename binaries + run: | + version_built=$(cat kindlecomicconverter/__init__.py | grep version | awk '{print $3}' | sed "s/[^.0-9b]//g") + mv dist/windows/kcc.exe dist/windows/kcc_${version_built}.exe + mv dist/windows/kcc-c2e.exe dist/windows/kcc-c2e_${version_built}.exe + mv dist/windows/kcc-c2p.exe dist/windows/kcc-c2p_${version_built}.exe + - name: upload build + uses: actions/upload-artifact@v3 + with: + name: windows-build + path: dist/windows/*.exe + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + prerelease: true + generate_release_notes: true + files: | + CHANGELOG.md + LICENSE.txt + dist/windows/*.exe \ No newline at end of file diff --git a/.github/workflows/package-windows.yml b/.github/workflows/package-windows.yml index 5b96528..a5f546d 100644 --- a/.github/workflows/package-windows.yml +++ b/.github/workflows/package-windows.yml @@ -31,10 +31,13 @@ jobs: with: python-version: 3.11 cache: 'pip' - - name: Install python dependencies + - name: Install dependencies + env: + PYINSTALLER_COMPILE_BOOTLOADER: 1 run: | - python -m pip install --upgrade pip setuptools wheel pyinstaller + python -m pip install --upgrade pip setuptools wheel pip install -r requirements.txt + pip install certifi pyinstaller --no-binary pyinstaller - name: build binary run: | python setup.py build_binary diff --git a/kcc-c2e.spec b/kcc-c2e.spec new file mode 100644 index 0000000..fa07d41 --- /dev/null +++ b/kcc-c2e.spec @@ -0,0 +1,39 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + + +a = Analysis(['kcc-c2e.py'], + pathex=['.'], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) + +exe = EXE(pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='kcc-c2e', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=False, + upx_exclude=[], + runtime_tmpdir=None, + console=True, + disable_windowed_traceback=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None , icon='icons\\comic2ebook.ico') diff --git a/kcc-c2p.spec b/kcc-c2p.spec new file mode 100644 index 0000000..8614c7f --- /dev/null +++ b/kcc-c2p.spec @@ -0,0 +1,39 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + + +a = Analysis(['kcc-c2p.py'], + pathex=['.'], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) + +exe = EXE(pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='kcc-c2p', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=False, + upx_exclude=[], + runtime_tmpdir=None, + console=True, + disable_windowed_traceback=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None , icon='icons\\comic2ebook.ico') diff --git a/kcc.spec b/kcc.spec new file mode 100644 index 0000000..abc2fea --- /dev/null +++ b/kcc.spec @@ -0,0 +1,39 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + + +a = Analysis(['kcc.py'], + pathex=['.'], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) + +exe = EXE(pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='kcc', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=False, + upx_exclude=[], + runtime_tmpdir=None, + console=False, + disable_windowed_traceback=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None , icon='icons\\comic2ebook.ico')