Windows CI (#920)
* Update build.yml * forgot to change the other target * make * typo * make * deall * msvc * Fix Windows and Android CI (#928) * fix CI * cache qt * Update zlib --------- Co-authored-by: lambdcalculus <64238778+lambdcalculus@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									1899f4e1ba
								
							
						
					
					
						commit
						ff577255d3
					
				
							
								
								
									
										100
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										100
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@ -11,7 +11,7 @@ jobs:
 | 
				
			|||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        version:
 | 
					        version:
 | 
				
			||||||
          - 5.15.1
 | 
					          - 5.15.2
 | 
				
			||||||
        platform:
 | 
					        platform:
 | 
				
			||||||
          - gcc_64
 | 
					          - gcc_64
 | 
				
			||||||
          - android
 | 
					          - android
 | 
				
			||||||
@ -22,14 +22,30 @@ jobs:
 | 
				
			|||||||
        include:
 | 
					        include:
 | 
				
			||||||
          - platform: gcc_64
 | 
					          - platform: gcc_64
 | 
				
			||||||
            os: ubuntu-latest
 | 
					            os: ubuntu-latest
 | 
				
			||||||
 | 
					            target: desktop
 | 
				
			||||||
 | 
					            make: make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          - platform: android
 | 
					          - platform: android
 | 
				
			||||||
            os: ubuntu-20.04
 | 
					            os: ubuntu-20.04
 | 
				
			||||||
 | 
					            target: android
 | 
				
			||||||
 | 
					            make: make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          - platform: msvc2019
 | 
					          - platform: msvc2019
 | 
				
			||||||
            os: windows-2019
 | 
					            os: windows-2019
 | 
				
			||||||
 | 
					            target: desktop
 | 
				
			||||||
 | 
					            make: nmake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          - platform: mingw81_32
 | 
					          - platform: mingw81_32
 | 
				
			||||||
            os: windows-latest
 | 
					            os: windows-latest
 | 
				
			||||||
 | 
					            target: desktop
 | 
				
			||||||
 | 
					            arch: win32_mingw81
 | 
				
			||||||
 | 
					            tools: 'tools_mingw,qt.tools.win32_mingw810'
 | 
				
			||||||
 | 
					            make: mingw32-make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          - platform: clang_64
 | 
					          - platform: clang_64
 | 
				
			||||||
            os: macos-latest
 | 
					            os: macos-latest
 | 
				
			||||||
 | 
					            target: desktop
 | 
				
			||||||
 | 
					            make: make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    runs-on: ${{matrix.os}}
 | 
					    runs-on: ${{matrix.os}}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
@ -40,13 +56,6 @@ jobs:
 | 
				
			|||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: '3.10'
 | 
					          python-version: '3.10'
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
      - name: actions/cache qt
 | 
					 | 
				
			||||||
        uses: actions/cache@master
 | 
					 | 
				
			||||||
        id: cache
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          path: qt/${{matrix.version}}/${{matrix.platform}}
 | 
					 | 
				
			||||||
          key: qt-${{matrix.version}}-${{matrix.platform}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Add msbuild to PATH
 | 
					      - name: Add msbuild to PATH
 | 
				
			||||||
        if: matrix.platform == 'msvc2019'
 | 
					        if: matrix.platform == 'msvc2019'
 | 
				
			||||||
        uses: microsoft/setup-msbuild@main
 | 
					        uses: microsoft/setup-msbuild@main
 | 
				
			||||||
@ -54,19 +63,35 @@ jobs:
 | 
				
			|||||||
      - name: Downgrade Android NDK
 | 
					      - name: Downgrade Android NDK
 | 
				
			||||||
        if: matrix.platform == 'android'
 | 
					        if: matrix.platform == 'android'
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
           ANDROID_ROOT=/usr/local/lib/android
 | 
					          ANDROID_ROOT=/usr/local/lib/android
 | 
				
			||||||
           ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
 | 
					          ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
 | 
				
			||||||
           ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle
 | 
					          ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle
 | 
				
			||||||
           SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
 | 
					          SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
 | 
				
			||||||
           echo "y" | $SDKMANAGER "ndk;21.4.7075529"
 | 
					          echo "y" | $SDKMANAGER "ndk;21.4.7075529"
 | 
				
			||||||
           echo "y" | $SDKMANAGER "platforms;android-24"
 | 
					          echo "y" | $SDKMANAGER "platforms;android-24"
 | 
				
			||||||
           ln -sfn $ANDROID_SDK_ROOT/ndk/21.4.7075529 $ANDROID_NDK_ROOT
 | 
					
 | 
				
			||||||
        
 | 
					          # this is so stupid but i can't find anything else that works
 | 
				
			||||||
      - uses: Skycoder42/action-setup-qt@master
 | 
					          rm -rf $ANDROID_HOME/ndk/25.2.9519653
 | 
				
			||||||
 | 
					          ln -sf $ANDROID_HOME/ndk/21.4.7075529 $ANDROID_HOME/ndk/25.2.9519653
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					      - uses: jurplel/install-qt-action@v3
 | 
				
			||||||
        id: qt
 | 
					        id: qt
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          version: ${{matrix.version}}
 | 
					          version: ${{matrix.version}}
 | 
				
			||||||
          platform: ${{matrix.platform}}
 | 
					          target: ${{matrix.target}}
 | 
				
			||||||
 | 
					          arch: ${{matrix.arch}}
 | 
				
			||||||
 | 
					          tools: ${{matrix.tools}}
 | 
				
			||||||
 | 
					          cache: true
 | 
				
			||||||
 | 
					          cache-key-prefix: qt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Add tools to PATH (MinGW)
 | 
				
			||||||
 | 
					        if: matrix.platform == 'mingw81_32'
 | 
				
			||||||
 | 
					        shell: bash
 | 
				
			||||||
 | 
					        run: echo "$RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin" >> $GITHUB_PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Configure MSVC (Windows)
 | 
				
			||||||
 | 
					        if: contains(matrix.platform, 'msvc')
 | 
				
			||||||
 | 
					        uses: ilammy/msvc-dev-cmd@v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install QtApng
 | 
					      - name: Install QtApng
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
@ -74,21 +99,23 @@ jobs:
 | 
				
			|||||||
          cd QtApng
 | 
					          cd QtApng
 | 
				
			||||||
          cd src/3rdparty
 | 
					          cd src/3rdparty
 | 
				
			||||||
          chmod +x get_libs.sh
 | 
					          chmod +x get_libs.sh
 | 
				
			||||||
          ./get_libs.sh 1.3 1.6.37
 | 
					          ./get_libs.sh 1.3.1 1.6.40
 | 
				
			||||||
          cd ../..
 | 
					          cd ../..
 | 
				
			||||||
          qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}}
 | 
					          qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}}
 | 
				
			||||||
          ${{steps.qt.outputs.make}} qmake_all
 | 
					          ${{matrix.make}}
 | 
				
			||||||
          ${{steps.qt.outputs.make}}
 | 
					          ${{matrix.make}} INSTALL_ROOT="${Qt5_DIR}" install
 | 
				
			||||||
          ${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install Windows Discord RPC
 | 
					      - name: Install Windows Discord RPC
 | 
				
			||||||
        if: contains(matrix.os, 'windows')
 | 
					        if: contains(matrix.os, 'windows')
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					            ARCH: ${{ matrix.platform == 'msvc2019' && '64' || '32'}}
 | 
				
			||||||
 | 
					        shell: bash
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-win.zip -o discord_rpc.zip
 | 
					          curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-win.zip -o discord_rpc.zip
 | 
				
			||||||
          unzip discord_rpc.zip
 | 
					          unzip discord_rpc.zip
 | 
				
			||||||
          cp ./discord-rpc/win32-dynamic/lib/discord-rpc.lib ./lib/
 | 
					          cp ./discord-rpc/win${ARCH}-dynamic/lib/discord-rpc.lib ./lib/
 | 
				
			||||||
          cp ./discord-rpc/win32-dynamic/bin/discord-rpc.dll ./bin/
 | 
					          cp ./discord-rpc/win${ARCH}-dynamic/bin/discord-rpc.dll ./bin/
 | 
				
			||||||
          cp ./discord-rpc/win32-dynamic/include/discord*.h ./include/
 | 
					          cp ./discord-rpc/win${ARCH}-dynamic/include/discord*.h ./include/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install Linux Discord RPC
 | 
					      - name: Install Linux Discord RPC
 | 
				
			||||||
        if: matrix.platform == 'gcc_64'
 | 
					        if: matrix.platform == 'gcc_64'
 | 
				
			||||||
@ -110,21 +137,24 @@ jobs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      - name: Install Windows BASS
 | 
					      - name: Install Windows BASS
 | 
				
			||||||
        if: contains(matrix.os, 'windows')
 | 
					        if: contains(matrix.os, 'windows')
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          ARCH: ${{ matrix.platform == 'msvc2019' && '/x64/' || ''}}
 | 
				
			||||||
 | 
					        shell: bash
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          curl http://www.un4seen.com/files/bass24.zip -o bass.zip
 | 
					          curl http://www.un4seen.com/files/bass24.zip -o bass.zip
 | 
				
			||||||
          unzip -d bass -o bass.zip
 | 
					          unzip -d bass -o bass.zip
 | 
				
			||||||
          cp ./bass/c/bass.lib ./lib/
 | 
					          cp ./bass/c/${ARCH}bass.lib ./lib/
 | 
				
			||||||
          cp ./bass/bass.dll ./bin/
 | 
					          cp ./bass/${ARCH}bass.dll ./bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip
 | 
					          curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip
 | 
				
			||||||
          unzip -d bass -o bassmidi.zip
 | 
					          unzip -d bass -o bassmidi.zip
 | 
				
			||||||
          cp ./bass/c/bassmidi.lib ./lib/
 | 
					          cp ./bass/c/${ARCH}bassmidi.lib ./lib/
 | 
				
			||||||
          cp ./bass/bassmidi.dll ./bin/
 | 
					          cp ./bass/${ARCH}bassmidi.dll ./bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip
 | 
					          curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip
 | 
				
			||||||
          unzip -d bass -o bassopus.zip
 | 
					          unzip -d bass -o bassopus.zip
 | 
				
			||||||
          cp ./bass/c/bassopus.lib ./lib/
 | 
					          cp ./bass/c/${ARCH}bassopus.lib ./lib/
 | 
				
			||||||
          cp ./bass/bassopus.dll ./bin/
 | 
					          cp ./bass/${ARCH}bassopus.dll ./bin/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Install Linux BASS
 | 
					      - name: Install Linux BASS
 | 
				
			||||||
        if: matrix.platform == 'gcc_64'
 | 
					        if: matrix.platform == 'gcc_64'
 | 
				
			||||||
@ -196,7 +226,7 @@ jobs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      - name: build
 | 
					      - name: build
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          ${{steps.qt.outputs.make}}
 | 
					          ${{matrix.make}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Deploy Windows
 | 
					      - name: Deploy Windows
 | 
				
			||||||
        if: contains(matrix.os, 'windows')
 | 
					        if: contains(matrix.os, 'windows')
 | 
				
			||||||
@ -222,9 +252,9 @@ jobs:
 | 
				
			|||||||
        working-directory: ${{github.workspace}}/bin/
 | 
					        working-directory: ${{github.workspace}}/bin/
 | 
				
			||||||
        shell: bash
 | 
					        shell: bash
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll .
 | 
					          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll .
 | 
				
			||||||
          cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libstdc++-6.dll .
 | 
					          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libstdc++-6.dll .
 | 
				
			||||||
          cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
 | 
					          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Deploy Linux
 | 
					      - name: Deploy Linux
 | 
				
			||||||
        if: matrix.platform == 'gcc_64'
 | 
					        if: matrix.platform == 'gcc_64'
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,7 @@ FORMS += $$files($$PWD/resource/ui/*.ui)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
LIBS += -L$$PWD/lib
 | 
					LIBS += -L$$PWD/lib
 | 
				
			||||||
QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN/lib'"
 | 
					QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN/lib'"
 | 
				
			||||||
 | 
					QMAKE_CXXFLAGS += "-fno-sized-deallocation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Uncomment for verbose network logging
 | 
					# Uncomment for verbose network logging
 | 
				
			||||||
# DEFINES += DEBUG_NETWORK
 | 
					# DEFINES += DEBUG_NETWORK
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user