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
					
				
							
								
								
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										86
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@ -11,7 +11,7 @@ jobs:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        version:
 | 
			
		||||
          - 5.15.1
 | 
			
		||||
          - 5.15.2
 | 
			
		||||
        platform:
 | 
			
		||||
          - gcc_64
 | 
			
		||||
          - android
 | 
			
		||||
@ -22,14 +22,30 @@ jobs:
 | 
			
		||||
        include:
 | 
			
		||||
          - platform: gcc_64
 | 
			
		||||
            os: ubuntu-latest
 | 
			
		||||
            target: desktop
 | 
			
		||||
            make: make
 | 
			
		||||
 | 
			
		||||
          - platform: android
 | 
			
		||||
            os: ubuntu-20.04
 | 
			
		||||
            target: android
 | 
			
		||||
            make: make
 | 
			
		||||
 | 
			
		||||
          - platform: msvc2019
 | 
			
		||||
            os: windows-2019
 | 
			
		||||
            target: desktop
 | 
			
		||||
            make: nmake
 | 
			
		||||
 | 
			
		||||
          - platform: mingw81_32
 | 
			
		||||
            os: windows-latest
 | 
			
		||||
            target: desktop
 | 
			
		||||
            arch: win32_mingw81
 | 
			
		||||
            tools: 'tools_mingw,qt.tools.win32_mingw810'
 | 
			
		||||
            make: mingw32-make
 | 
			
		||||
 | 
			
		||||
          - platform: clang_64
 | 
			
		||||
            os: macos-latest
 | 
			
		||||
            target: desktop
 | 
			
		||||
            make: make
 | 
			
		||||
 | 
			
		||||
    runs-on: ${{matrix.os}}
 | 
			
		||||
    steps:
 | 
			
		||||
@ -40,13 +56,6 @@ jobs:
 | 
			
		||||
        with:
 | 
			
		||||
          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
 | 
			
		||||
        if: matrix.platform == 'msvc2019'
 | 
			
		||||
        uses: microsoft/setup-msbuild@main
 | 
			
		||||
@ -60,13 +69,29 @@ jobs:
 | 
			
		||||
          SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
 | 
			
		||||
          echo "y" | $SDKMANAGER "ndk;21.4.7075529"
 | 
			
		||||
          echo "y" | $SDKMANAGER "platforms;android-24"
 | 
			
		||||
           ln -sfn $ANDROID_SDK_ROOT/ndk/21.4.7075529 $ANDROID_NDK_ROOT
 | 
			
		||||
 | 
			
		||||
      - uses: Skycoder42/action-setup-qt@master
 | 
			
		||||
          # this is so stupid but i can't find anything else that works
 | 
			
		||||
          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
 | 
			
		||||
        with:
 | 
			
		||||
          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
 | 
			
		||||
        run: |
 | 
			
		||||
@ -74,21 +99,23 @@ jobs:
 | 
			
		||||
          cd QtApng
 | 
			
		||||
          cd src/3rdparty
 | 
			
		||||
          chmod +x get_libs.sh
 | 
			
		||||
          ./get_libs.sh 1.3 1.6.37
 | 
			
		||||
          ./get_libs.sh 1.3.1 1.6.40
 | 
			
		||||
          cd ../..
 | 
			
		||||
          qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}}
 | 
			
		||||
          ${{steps.qt.outputs.make}} qmake_all
 | 
			
		||||
          ${{steps.qt.outputs.make}}
 | 
			
		||||
          ${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
 | 
			
		||||
          ${{matrix.make}}
 | 
			
		||||
          ${{matrix.make}} INSTALL_ROOT="${Qt5_DIR}" install
 | 
			
		||||
 | 
			
		||||
      - name: Install Windows Discord RPC
 | 
			
		||||
        if: contains(matrix.os, 'windows')
 | 
			
		||||
        env:
 | 
			
		||||
            ARCH: ${{ matrix.platform == 'msvc2019' && '64' || '32'}}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          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
 | 
			
		||||
          cp ./discord-rpc/win32-dynamic/lib/discord-rpc.lib ./lib/
 | 
			
		||||
          cp ./discord-rpc/win32-dynamic/bin/discord-rpc.dll ./bin/
 | 
			
		||||
          cp ./discord-rpc/win32-dynamic/include/discord*.h ./include/
 | 
			
		||||
          cp ./discord-rpc/win${ARCH}-dynamic/lib/discord-rpc.lib ./lib/
 | 
			
		||||
          cp ./discord-rpc/win${ARCH}-dynamic/bin/discord-rpc.dll ./bin/
 | 
			
		||||
          cp ./discord-rpc/win${ARCH}-dynamic/include/discord*.h ./include/
 | 
			
		||||
 | 
			
		||||
      - name: Install Linux Discord RPC
 | 
			
		||||
        if: matrix.platform == 'gcc_64'
 | 
			
		||||
@ -110,21 +137,24 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - name: Install Windows BASS
 | 
			
		||||
        if: contains(matrix.os, 'windows')
 | 
			
		||||
        env:
 | 
			
		||||
          ARCH: ${{ matrix.platform == 'msvc2019' && '/x64/' || ''}}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          curl http://www.un4seen.com/files/bass24.zip -o bass.zip
 | 
			
		||||
          unzip -d bass -o bass.zip
 | 
			
		||||
          cp ./bass/c/bass.lib ./lib/
 | 
			
		||||
          cp ./bass/bass.dll ./bin/
 | 
			
		||||
          cp ./bass/c/${ARCH}bass.lib ./lib/
 | 
			
		||||
          cp ./bass/${ARCH}bass.dll ./bin/
 | 
			
		||||
 | 
			
		||||
          curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip
 | 
			
		||||
          unzip -d bass -o bassmidi.zip
 | 
			
		||||
          cp ./bass/c/bassmidi.lib ./lib/
 | 
			
		||||
          cp ./bass/bassmidi.dll ./bin/
 | 
			
		||||
          cp ./bass/c/${ARCH}bassmidi.lib ./lib/
 | 
			
		||||
          cp ./bass/${ARCH}bassmidi.dll ./bin/
 | 
			
		||||
 | 
			
		||||
          curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip
 | 
			
		||||
          unzip -d bass -o bassopus.zip
 | 
			
		||||
          cp ./bass/c/bassopus.lib ./lib/
 | 
			
		||||
          cp ./bass/bassopus.dll ./bin/
 | 
			
		||||
          cp ./bass/c/${ARCH}bassopus.lib ./lib/
 | 
			
		||||
          cp ./bass/${ARCH}bassopus.dll ./bin/
 | 
			
		||||
 | 
			
		||||
      - name: Install Linux BASS
 | 
			
		||||
        if: matrix.platform == 'gcc_64'
 | 
			
		||||
@ -196,7 +226,7 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - name: build
 | 
			
		||||
        run: |
 | 
			
		||||
          ${{steps.qt.outputs.make}}
 | 
			
		||||
          ${{matrix.make}}
 | 
			
		||||
 | 
			
		||||
      - name: Deploy Windows
 | 
			
		||||
        if: contains(matrix.os, 'windows')
 | 
			
		||||
@ -222,9 +252,9 @@ jobs:
 | 
			
		||||
        working-directory: ${{github.workspace}}/bin/
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          cp D:/a/AO2-Client/AO2-Client/.cache/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 D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
 | 
			
		||||
          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll .
 | 
			
		||||
          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libstdc++-6.dll .
 | 
			
		||||
          cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
 | 
			
		||||
 | 
			
		||||
      - name: Deploy Linux
 | 
			
		||||
        if: matrix.platform == 'gcc_64'
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@ FORMS += $$files($$PWD/resource/ui/*.ui)
 | 
			
		||||
 | 
			
		||||
LIBS += -L$$PWD/lib
 | 
			
		||||
QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN/lib'"
 | 
			
		||||
QMAKE_CXXFLAGS += "-fno-sized-deallocation"
 | 
			
		||||
 | 
			
		||||
# Uncomment for verbose network logging
 | 
			
		||||
# DEFINES += DEBUG_NETWORK
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user