name: Build on: push jobs: 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 # 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 # runs-on: ubuntu-latest # 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 # - name: Build server # run: ci/deb-server-script.sh # - 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 # mv /tmp/syncplay-server.deb dist_actions/syncplay-server_${VER}.deb # ls -al dist_actions # - name: Deploy # uses: actions/upload-artifact@v2 # with: # name: syncplay.deb # path: | # dist_actions/syncplay*.deb