更新版本 #45
Workflow file for this run
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
name: release | |
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
outputs: | |
PACKAGE_PREFIX: ${{ steps.get-package_prefix.outputs.PACKAGE_PREFIX }} | |
TAG_NAME: ${{ steps.get-package_prefix.outputs.TAG_NAME }} | |
HEAD_SHA_SHORT: ${{ steps.get-package_prefix.outputs.HEAD_SHA_SHORT }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: '0' | |
- name: get-package_prefix | |
id: get-package_prefix | |
run: | | |
LIB_NAME=bika | |
TAG_NAME=$(git describe --abbrev=0 --tags) | |
HEAD_SHA_SHORT=$(git rev-parse --short HEAD) | |
echo "::set-output name=PACKAGE_PREFIX::${LIB_NAME}_${TAG_NAME}" | |
echo "::set-output name=TAG_NAME::${TAG_NAME}" | |
echo "::set-output name=HEAD_SHA_SHORT::${HEAD_SHA_SHORT}" | |
release: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
outputs: | |
Up_Url: ${{ steps.create_release.outputs.upload_url }} | |
steps: | |
- name: create_release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ needs.setup.outputs.TAG_NAME }} | |
release_name: ${{ needs.setup.outputs.TAG_NAME }} | |
draft: true | |
prerelease: true | |
macos: | |
needs: [setup, release] | |
runs-on: macos-11 | |
env: | |
PACKAGENAME: ${{ needs.setup.outputs.PACKAGE_PREFIX }}_macos_x64 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller==4.5.1 | |
pip install PySide6==6.1.3 | |
pip install websocket-client==0.59.0 | |
pip install requests==2.26.0 | |
pip install urllib3==1.25.11 | |
pip install pillow==8.3.2 | |
pip install Pysocks==1.7.1 | |
pip install natsort==8.2.0 | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/waifu2x_vulkan-1.1.6-cp37-cp37m-macosx_10_15_x86_64.whl | |
brew install create-dmg | |
- name: Build | |
run: | | |
cd src | |
cp ../res/icon/Icon.icns ./ | |
pyinstaller --clean --onedir --name PicACG \ | |
--hidden-import waifu2x_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 | |
# rm -rf dist/PicACG | |
# cp Icon.icns dist/ | |
# ln -s /Applications/ dist/Applications | |
cp -avf db dist/PicACG.app/Contents/MacOS | |
xattr -cr dist/PicACG.app | |
create-dmg --volname "PicACG" --volicon "Icon.icns" --icon "PicACG.app" 200 190 \ | |
--window-pos 200 120 \ | |
--window-size 800 400 \ | |
--icon-size 100 \ | |
--hide-extension "PicACG.app" --app-drop-link 600 185 \ | |
${{ env.PACKAGENAME }}.dmg dist/PicACG.app | |
zip -9 bika.zip ${{ env.PACKAGENAME }}.dmg | |
mv ${{ env.PACKAGENAME }}.dmg .. | |
mv bika.zip .. | |
cd .. | |
- name: Upload | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: bika.zip | |
- name: upload-macos | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.release.outputs.Up_Url }} | |
asset_path: ${{ env.PACKAGENAME }}.dmg | |
asset_name: ${{ env.PACKAGENAME }}.dmg | |
asset_content_type: application/gzip | |
windows: | |
needs: [setup, release] | |
runs-on: windows-latest | |
env: | |
PACKAGENAME: ${{ needs.setup.outputs.PACKAGE_PREFIX }}_windows_x64 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller==4.8 | |
pip install pywin32==302 | |
pip install -r src\requirements.txt | |
- name: Build | |
run: | | |
cd src | |
cp ..\res\icon\icon.ico .\ | |
pyinstaller -F -w -i icon.ico start.py | |
mv dist bika | |
Copy-Item -Verbose -Recurse -Path db -Destination bika/ | |
cp ..\LICENSE bika\ | |
cp ..\CHANGELOG bika\ | |
cd .. | |
mkdir ${{ env.PACKAGENAME }} | |
mv src\bika ${{ env.PACKAGENAME }} | |
7z a -t7z -r "$($Env:PACKAGENAME + '.7z')" "bika" | |
- name: Upload | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: bika | |
- name: upload-win | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.release.outputs.Up_Url }} | |
asset_path: ${{ env.PACKAGENAME }}.7z | |
asset_name: ${{ env.PACKAGENAME }}.7z | |
asset_content_type: application/zip | |
windows7: | |
needs: [setup, release] | |
runs-on: windows-latest | |
env: | |
PACKAGENAME: ${{ needs.setup.outputs.PACKAGE_PREFIX }}_windows7_x64 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller==4.5.1 | |
pip install pywin32==302 | |
pip install PySide6==6.1.3 | |
pip install websocket-client==0.59.0 | |
pip install requests==2.26.0 | |
pip install urllib3==1.25.11 | |
pip install pillow==8.3.2 | |
pip install waifu2x-vulkan==1.1.6 | |
pip install Pysocks==1.7.1 | |
pip install natsort==8.2.0 | |
- name: Build | |
run: | | |
cd src | |
cp ..\res\icon\icon.ico .\ | |
pyinstaller -F -w -i icon.ico start.py | |
mv dist bika | |
Copy-Item -Verbose -Recurse -Path db -Destination bika/ | |
cp ..\LICENSE bika\ | |
cp ..\CHANGELOG bika\ | |
cd .. | |
mkdir ${{ env.PACKAGENAME }} | |
mv src\bika ${{ env.PACKAGENAME }} | |
7z a -t7z -r "$($Env:PACKAGENAME + '.7z')" "bika" | |
- name: Upload | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: bika | |
- name: upload-win | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.release.outputs.Up_Url }} | |
asset_path: ${{ env.PACKAGENAME }}.7z | |
asset_name: ${{ env.PACKAGENAME }}.7z | |
asset_content_type: application/zip | |
ubuntu: | |
needs: [setup, release] | |
runs-on: ubuntu-latest | |
env: | |
PACKAGENAME: ${{ needs.setup.outputs.PACKAGE_PREFIX }}_linux_x64 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v2 | |
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==4.8 | |
pip install https://github.com/tonquer/waifu2x-vulkan/releases/download/v1.1.6/waifu2x_vulkan-1.1.6-cp37-cp37m-linux_x86_64.whl | |
pip install -r src/requirements.txt | |
- name: Build | |
run: | | |
cd src | |
pyinstaller -w start.py | |
cd dist | |
mkdir -p picacg.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/* picacg.AppRun/ | |
cp -r ../../res/icon/logo_round.png picacg.AppRun/PicACG.png | |
cp -r start/* picacg.AppRun/usr/bin/ | |
cp -r ../db picacg.AppRun/ | |
mv picacg.AppRun/usr/bin/start picacg.AppRun/usr/bin/PicACG | |
chmod +x picacg.AppRun/AppRun | |
chmod +x picacg.AppRun/usr/bin/PicACG | |
./appimagetool-x86_64.AppImage picacg.AppRun | |
mv PicACG-x86_64.AppImage ../../${{ env.PACKAGENAME }}-x86_64.AppImage | |
cd ../.. | |
- name: Upload | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ env.PACKAGENAME }} | |
path: ${{ env.PACKAGENAME }}-x86_64.AppImage | |
- name: upload-win | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.release.outputs.Up_Url }} | |
asset_path: ${{ env.PACKAGENAME }}-x86_64.AppImage | |
asset_name: ${{ env.PACKAGENAME }}-x86_64.AppImage | |
asset_content_type: application/zip |