浏览代码

Merge branch 'master' into release

Ian Walton 4 年之前
父节点
当前提交
c3ae656fe4
共有 1 个文件被更改,包括 62 次插入27 次删除
  1. 62 27
      .github/workflows/main.yml

+ 62 - 27
.github/workflows/main.yml

@@ -6,21 +6,14 @@ on:
       - release
 jobs:
   build-mac:
-    strategy:
-      matrix:
-        # windows builds may need to specify building 64bit target:
-        # if [[ "$OSTYPE" == "msys" ]]; then export WINEXTRA="-DCMAKE_GENERATOR_PLATFORM=x64"; else export WINEXTRA=""; fi
-        os: [macOS-latest]
-    runs-on: ${{ matrix.os }}
+    runs-on: macOS-latest
     steps:
     - uses: actions/checkout@v2
-
     - name: Install Qt 5.15.2
       uses: jurplel/install-qt-action@v2
       with:
         version: "5.15.2"
-        modules: "qtwebengine"
-        
+        modules: "qtwebengine"  
     - name: Install dependencies
       run: |
         brew update
@@ -36,30 +29,28 @@ jobs:
         grep -v enable-javascript /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mpv.rb | grep -v mujs > _tmp
         mv _tmp /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/mpv.rb
         brew install mpv --build-from-source
-    - name: Debug build and test
+    - name: Release build
       run: |
         ./download_webclient.sh
         cd build
         cmake -GNinja -DQTROOT=$Qt5_DIR -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=output ..
         ninja install
-        
     - name: Archive production artifacts
       uses: actions/upload-artifact@v2
       with:
         name: macos
         path: ${{ github.workspace }}/build/output/Jellyfin\ Media\ Player.dmg
-  build-win:
-    strategy:
-      matrix:
-        os: [windows-latest]
-    runs-on: ${{ matrix.os }}
+        
+  build-win64:
+    runs-on: windows-latest
     steps:
     - uses: actions/checkout@v2
-    - name: Install QT
-      run: |
-        python -m pip install aqtinstall==1.1.3
-        python -m aqt install 5.15.2 windows desktop win64_msvc2019_64 -m qtwebengine -O D:\a\Qt
-      shell: cmd
+    - name: Install Qt 5.15.2
+      uses: jurplel/install-qt-action@v2
+      with:
+        version: "5.15.2"
+        arch: "win64_msvc2019_64"
+        modules: "qtwebengine"
     - name: Install dependencies
       run: |
         ./download_webclient.sh
@@ -83,7 +74,7 @@ jobs:
         call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
         cd build
         set PATH=%PATH%;C:\Program Files (x86)\WiX Toolset v3.11\bin;%CD%
-        cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=output -DCMAKE_MAKE_PROGRAM=ninja.exe -DQTROOT=D:/a/Qt/5.15.2/msvc2019_64 -DMPV_INCLUDE_DIR=mpv/include -DMPV_LIBRARY=mpv/mpv.dll -DCMAKE_INSTALL_PREFIX=output ..
+        cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=output -DCMAKE_MAKE_PROGRAM=ninja.exe -DQTROOT=%Qt5_DIR% -DMPV_INCLUDE_DIR=mpv/include -DMPV_LIBRARY=mpv/mpv.dll -DCMAKE_INSTALL_PREFIX=output ..
         lib /def:mpv\mpv.def /out:mpv\mpv.dll.lib /MACHINE:X64
         ninja
         ninja windows_package
@@ -92,13 +83,57 @@ jobs:
       uses: actions/upload-artifact@v2
       with:
         name: windows
-        path: ${{ github.workspace }}/build/JellyfinMediaPlayer-*-windows-x64.exe
+        path: ${{ github.workspace }}/build/JellyfinMediaPlayer-*.exe
+
+  build-win32:
+    runs-on: windows-latest
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install Qt 5.15.2
+      uses: jurplel/install-qt-action@v2
+      with:
+        version: "5.15.2"
+        arch: "win64_msvc2019_32"
+        modules: "qtwebengine"
+    - name: Install dependencies
+      run: |
+        ./download_webclient.sh
+        sed -i 's#Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Redist\\MSVC\\v142\\#'"$(ls -d "/c/Program Files (x86)/Microsoft Visual Studio/2019/"*"/VC/Redist/MSVC/v"* | head -n 1 | sed 's#/c/##g' | tr '/' '\\' | sed 's/\\/\\\\/g')\\\\#g" bundle/win/Bundle.wxs
+        curl -L https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip > ninja.zip
+        unzip ninja.zip
+        mv ninja.exe build/
+        curl -L https://sourceforge.net/projects/mpv-player-windows/files/libmpv/mpv-dev-i686-20210404-git-dd86f19.7z/download > mpv.7z
+        7z x mpv.7z
+        mv include mpv
+        mkdir include
+        mv mpv include
+        mkdir mpv
+        mv include mpv
+        mv mpv-1.dll mpv/mpv.dll
+        mv mpv.def libmpv.dll.a mpv/
+        mv mpv build/
+      shell: bash
+    - name: Build
+      run: |
+        call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
+        cd build
+        set PATH=%PATH%;C:\Program Files (x86)\WiX Toolset v3.11\bin;%CD%
+        cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=output -DCMAKE_MAKE_PROGRAM=ninja.exe -DQTROOT=%Qt5_DIR% -DMPV_INCLUDE_DIR=mpv/include -DMPV_LIBRARY=mpv/mpv.dll -DCMAKE_INSTALL_PREFIX=output ..
+        lib /def:mpv\mpv.def /out:mpv\mpv.dll.lib /MACHINE:X64
+        ninja
+        ninja windows_package
+      shell: cmd
+    - name: Archive production artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: windows-legacy32
+        path: ${{ github.workspace }}/build/JellyfinMediaPlayer-*.exe
+
   build-ubuntu:
     strategy:
       matrix:
-        os: [ubuntu-latest]
         tag: [focal, groovy]
-    runs-on: ${{ matrix.os }}
+    runs-on: "ubuntu-latest"
     steps:
     - uses: actions/checkout@v2
     - name: Docker Build
@@ -110,12 +145,12 @@ jobs:
       with:
         name: ubuntu-${{ matrix.tag }}
         path: ${{ github.workspace }}/deployment/dist/*
+
   build-debian:
     strategy:
       matrix:
-        os: [ubuntu-latest]
         tag: [buster, bullseye]
-    runs-on: ${{ matrix.os }}
+    runs-on: "ubuntu-latest"
     steps:
     - uses: actions/checkout@v2
     - name: Docker Build