2021-01-11 18:55:59 +00:00
|
|
|
name: Build
|
|
|
|
on: push
|
|
|
|
|
|
|
|
jobs:
|
2021-03-07 19:25:23 +00:00
|
|
|
windows:
|
|
|
|
name: Build for Windows
|
|
|
|
runs-on: windows-2019
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Setup Python
|
|
|
|
uses: actions/setup-python@v2
|
|
|
|
with:
|
|
|
|
python-version: '3.8'
|
|
|
|
|
|
|
|
- name: Check Python install
|
|
|
|
run: |
|
|
|
|
which python
|
|
|
|
python --version
|
|
|
|
python -c "import struct; print(struct.calcsize('P') * 8)"
|
|
|
|
which pip
|
|
|
|
pip --version
|
|
|
|
|
|
|
|
- name: Install Python dependencies
|
|
|
|
run: |
|
|
|
|
pip3 install -U setuptools wheel pip
|
|
|
|
pip3 install -r requirements.txt
|
|
|
|
pip3 install -r requirements_gui.txt
|
|
|
|
pip3 install py2exe
|
|
|
|
|
|
|
|
- name: Check Python dependencies
|
|
|
|
run: |
|
|
|
|
python3 -c "from PySide2 import __version__; print(__version__)"
|
|
|
|
python3 -c "from PySide2.QtCore import __version__; print(__version__)"
|
|
|
|
python3 -c "from PySide2.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))"
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
$ver = (findstr version .\syncplay\__init__.py).split("'")[1]
|
|
|
|
echo $ver
|
|
|
|
echo "VER=$ver" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
|
|
|
python buildPy2exe.py
|
|
|
|
New-Item -Path syncplay_v$ver -Name "syncplay.ini" -Value $null
|
|
|
|
|
|
|
|
- name: Prepare for deployment
|
|
|
|
run: dir
|
|
|
|
|
|
|
|
- name: Deploy portable
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Syncplay_${{ env.VER }}_Portable
|
|
|
|
path: |
|
|
|
|
syncplay_v${{ env.VER }}
|
|
|
|
|
|
|
|
- name: Deploy installer
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Syncplay-${{ env.VER }}-Setup.exe
|
|
|
|
path: |
|
|
|
|
Syncplay-${{ env.VER }}-Setup.exe
|
|
|
|
|
2021-01-11 18:55:59 +00:00
|
|
|
macos:
|
|
|
|
name: Build for macOS
|
|
|
|
runs-on: macos-10.15
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Setup Python
|
|
|
|
uses: actions/setup-python@v2
|
|
|
|
with:
|
|
|
|
python-version: '3.7'
|
|
|
|
|
|
|
|
- name: Check Python install
|
|
|
|
run: |
|
|
|
|
which python3
|
|
|
|
python3 --version
|
|
|
|
which pip3
|
|
|
|
pip3 --version
|
|
|
|
|
|
|
|
- name: Install Python dependencies
|
|
|
|
run: |
|
|
|
|
pip3 install -U setuptools wheel pip
|
|
|
|
pip3 install twisted[tls] appnope requests certifi
|
|
|
|
pip3 install shiboken2==5.13.1 pyside2==5.13.1
|
|
|
|
pip3 install py2app
|
|
|
|
|
|
|
|
- name: Check Python dependencies
|
|
|
|
run: |
|
|
|
|
python3 -c "from PySide2 import __version__; print(__version__)"
|
|
|
|
python3 -c "from PySide2.QtCore import __version__; print(__version__)"
|
|
|
|
python3 -c "from PySide2.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))"
|
|
|
|
python3 -c "import ssl; print(ssl)"
|
|
|
|
python3 -c "from py2app.recipes import pyside2"
|
|
|
|
echo $DYLD_LIBRARY_PATH
|
|
|
|
echo $DYLD_FRAMEWORK_PATH
|
|
|
|
python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LDLIBRARY"))'
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
run: |
|
|
|
|
python3 ci/pyside2_linker.py
|
|
|
|
export LIBPYTHON_FOLDER="$(python3 -c 'from distutils.sysconfig import get_config_var; print(get_config_var("LIBDIR"))')"
|
|
|
|
ln -s $LIBPYTHON_FOLDER/libpython3.7m.dylib $LIBPYTHON_FOLDER/libpython3.7.dylib
|
|
|
|
export DYLD_FRAMEWORK_PATH="$(python3 -c 'from PySide2.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.LibrariesPath))')"
|
|
|
|
export DYLD_LIBRARY_PATH="$(python3 -c 'import os.path, PySide2; print(os.path.dirname(PySide2.__file__))'):$(python3 -c 'import os.path, shiboken2; print(os.path.dirname(shiboken2.__file__))')"
|
|
|
|
python3 buildPy2app.py py2app
|
|
|
|
|
|
|
|
- name: Prepare for deployment
|
|
|
|
run: |
|
|
|
|
ls -al
|
|
|
|
export VER="$(cat syncplay/__init__.py | awk '/version/ {gsub("\047", "", $3); print $NF}')"
|
|
|
|
echo "VER=$VER" >> $GITHUB_ENV
|
|
|
|
mkdir dist_actions
|
|
|
|
ci/macos-deploy.sh
|
|
|
|
ls -al dist_actions
|
|
|
|
|
|
|
|
- name: Deploy
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Syncplay_${{ env.VER }}.dmg
|
|
|
|
path: |
|
|
|
|
dist_actions/Syncplay_${{ env.VER }}.dmg
|
|
|
|
|
|
|
|
appimage:
|
|
|
|
name: Build AppImage
|
2021-03-09 18:03:31 +00:00
|
|
|
runs-on: ubuntu-18.04
|
2021-01-11 18:55:59 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
sudo apt-get install libxkbcommon-x11-0
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
run: ci/appimage-script.sh
|
|
|
|
|
|
|
|
- name: Prepare for deployment
|
|
|
|
run: |
|
|
|
|
ls -al
|
|
|
|
export VER="$(cat syncplay/__init__.py | awk '/version/ {gsub("\047", "", $3); print $NF}')"
|
|
|
|
echo "VER=$VER" >> $GITHUB_ENV
|
|
|
|
mkdir dist_actions
|
|
|
|
ci/appimage-deploy.sh
|
|
|
|
ls -al dist_actions
|
|
|
|
|
|
|
|
- name: Deploy
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Syncplay-${{ env.VER }}-x86_64.AppImage
|
|
|
|
path: |
|
|
|
|
dist_actions/Syncplay-${{ env.VER }}-x86_64.AppImage
|
|
|
|
|
|
|
|
deb:
|
|
|
|
name: Build Debian package
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
run: ci/deb-script.sh
|
|
|
|
|
2021-01-23 19:43:39 +00:00
|
|
|
- name: Build server
|
2021-02-25 18:06:25 +00:00
|
|
|
run: ci/deb-server-script.sh
|
|
|
|
|
2021-01-11 18:55:59 +00:00
|
|
|
- name: Test
|
|
|
|
run: ci/deb-installation-test.sh
|
|
|
|
|
|
|
|
- name: Prepare for deployment
|
|
|
|
run: |
|
|
|
|
ls -al
|
|
|
|
export VER="$(cat syncplay/__init__.py | awk '/version/ {gsub("\047", "", $3); print $NF}')"
|
|
|
|
echo "VER=$VER" >> $GITHUB_ENV
|
|
|
|
mkdir dist_actions
|
|
|
|
mv /tmp/syncplay.deb dist_actions/syncplay_${VER}.deb
|
2021-01-23 19:43:39 +00:00
|
|
|
mv /tmp/syncplay-server.deb dist_actions/syncplay-server_${VER}.deb
|
2021-01-11 18:55:59 +00:00
|
|
|
ls -al dist_actions
|
|
|
|
|
2021-03-08 21:01:34 +00:00
|
|
|
- name: Deploy full deb
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: syncplay.deb
|
|
|
|
path: |
|
2021-03-08 21:04:43 +00:00
|
|
|
dist_actions/syncplay_*.deb
|
2021-03-08 21:01:34 +00:00
|
|
|
|
|
|
|
- name: Deploy server deb
|
2021-01-11 18:55:59 +00:00
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
2021-03-08 21:02:32 +00:00
|
|
|
name: syncplay-server.deb
|
2021-01-11 18:55:59 +00:00
|
|
|
path: |
|
2021-03-08 21:04:43 +00:00
|
|
|
dist_actions/syncplay-server_*.deb
|