update #89
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
windows: | |
runs-on: windows-latest | |
env: | |
PACKAGENAME: jmcomic_py37_windows_x64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install -r src\requirements.txt | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/sr_ncnn_vulkan-1.2.0-cp36.cp37.cp38.cp39.cp310.cp311-none-win_amd64.whl | |
- name: Build | |
run: | | |
cd src | |
cp ..\res\icon\icon.ico .\ | |
pyinstaller -F -w -i icon.ico start.py | |
mv dist jmcomic | |
cp ..\LICENSE jmcomic\ | |
cp ..\CHANGELOG jmcomic\ | |
cd .. | |
mkdir ${{ env.PACKAGENAME }} | |
mv src\jmcomic ${{ env.PACKAGENAME }} | |
7z a -r "$($Env:PACKAGENAME + '.zip')" "jmcomic" | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: ${{ env.PACKAGENAME }} | |
retention-days: 7 | |
windows7: | |
runs-on: windows-latest | |
env: | |
PACKAGENAME: jmcomic_py37_windows7_x64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller==4.6 | |
pip install -r src\requirements_win7.txt | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/sr_ncnn_vulkan-1.2.0-cp36.cp37.cp38.cp39.cp310.cp311-none-win_amd64.whl | |
- name: Build | |
run: | | |
cd src | |
cp ..\res\icon\icon.ico .\ | |
pyinstaller -F -w -i icon.ico start.py | |
mv dist jmcomic | |
cp ..\LICENSE jmcomic\ | |
cp ..\CHANGELOG jmcomic\ | |
cd .. | |
mkdir ${{ env.PACKAGENAME }} | |
mv src\jmcomic ${{ env.PACKAGENAME }} | |
7z a -r "$($Env:PACKAGENAME + '.zip')" "jmcomic" | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: ${{ env.PACKAGENAME }} | |
retention-days: 7 | |
ubuntu: | |
runs-on: ubuntu-20.04 | |
env: | |
PACKAGENAME: jmcomic_py37_linux | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install -y fuse libfuse2 | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/sr_ncnn_vulkan-1.2.0-cp37-abi3-linux_x86_64.whl | |
pip install -r src/requirements.txt | |
- name: Build | |
run: | | |
cd src | |
pyinstaller -w start.py | |
cd dist | |
mkdir -p jmcomic.AppRun/usr/bin | |
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage | |
chmod +x appimagetool-x86_64.AppImage | |
cp -r ../../res/appimage/* jmcomic.AppRun/ | |
cp -r ../../res/icon/logo_round.png jmcomic.AppRun/JMComic.png | |
cp -r start/* jmcomic.AppRun/usr/bin/ | |
mv jmcomic.AppRun/usr/bin/start jmcomic.AppRun/usr/bin/JMComic | |
chmod +x jmcomic.AppRun/AppRun | |
chmod +x jmcomic.AppRun/usr/bin/JMComic | |
./appimagetool-x86_64.AppImage jmcomic.AppRun | |
mv JMComic-x86_64.AppImage ../../${{ env.PACKAGENAME }}-x86_64.AppImage | |
cd ../.. | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: ${{ env.PACKAGENAME }}-x86_64.AppImage | |
retention-days: 7 | |
macos: | |
runs-on: macos-latest | |
env: | |
PACKAGENAME: jmcomic_py37_macos | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/sr_ncnn_vulkan-1.2.0-cp36.cp37.cp38.cp39.cp310.cp311.cp312.cp313-none-macosx_10_9_universal2.whl | |
cd script | |
pip install delocate wheel_filename | |
python build_universal2.py pillow | |
python build_universal2.py cffi | |
python build_universal2.py curl_cffi | |
python build_universal2.py pyyaml | |
pip install *.whl | |
cd .. | |
pip install -r src/requirements_macos.txt | |
brew install create-dmg | |
- name: Build | |
run: | | |
cd src | |
cp ../res/icon/Icon.icns ./ | |
pyinstaller --target-architecture=universal2 --clean --onedir --name JMComic \ | |
--hidden-import sr_ncnn_vulkan --hidden-import PySide6 --hidden-import requests \ | |
--hidden-import urllib3 --hidden-import websocket-client --hidden-import pillow \ | |
--hidden-import config \ | |
--hidden-import component \ | |
--hidden-import server \ | |
--hidden-import task \ | |
--hidden-import tools \ | |
--hidden-import view \ | |
--strip --windowed -i Icon.icns \ | |
start.py | |
xattr -cr dist/JMComic.app | |
create-dmg --volname "JMComic" --volicon "Icon.icns" --icon "JMComic.app" 200 190 \ | |
--window-pos 200 120 \ | |
--window-size 800 400 \ | |
--icon-size 100 \ | |
--hide-extension "JMComic.app" --app-drop-link 600 185 \ | |
${{ env.PACKAGENAME }}.dmg dist/JMComic.app | |
zip -9 jmcomic.zip ${{ env.PACKAGENAME }}.dmg | |
mv ${{ env.PACKAGENAME }}.dmg .. | |
mv jmcomic.zip .. | |
cd .. | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: ${{ env.PACKAGENAME }}.dmg | |
retention-days: 7 |