Attempt windows build
This commit is contained in:
		
							parent
							
								
									2d33a52c82
								
							
						
					
					
						commit
						67214b772d
					
				
							
								
								
									
										180
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										180
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@ -3,93 +3,125 @@ name: build
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
      - add-tests
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
 | 
			
		||||
  BUILD_TYPE: Release
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    # The CMake configure and build commands are platform agnostic and should work equally
 | 
			
		||||
    # well on Windows or Mac.  You can convert this to a matrix build if you need
 | 
			
		||||
    # cross-platform coverage.
 | 
			
		||||
    # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
  windows:
 | 
			
		||||
    runs-on: windows-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - uses: actions/checkout@v2
 | 
			
		||||
      
 | 
			
		||||
    - name: actions/cache qt
 | 
			
		||||
      uses: actions/cache@v1
 | 
			
		||||
      id: cache
 | 
			
		||||
      with:
 | 
			
		||||
        path: qt/5.15.2/msvc2019_64
 | 
			
		||||
        key: qt-5.15.2-msvc2019_64
 | 
			
		||||
        
 | 
			
		||||
    - uses: Skycoder42/action-setup-qt@master
 | 
			
		||||
      id: qt
 | 
			
		||||
      with:
 | 
			
		||||
        version: 5.15.2
 | 
			
		||||
        platform: msvc2019_64
 | 
			
		||||
        cachedir: qt/5.15.2/msvc2019_64
 | 
			
		||||
 | 
			
		||||
    - name: Install catch2
 | 
			
		||||
    - name: qmake
 | 
			
		||||
      run: |
 | 
			
		||||
        curl -L https://github.com/catchorg/Catch2/archive/v2.13.4.tar.gz -o catch2.tar.gz
 | 
			
		||||
        tar xvf catch2.tar.gz
 | 
			
		||||
        cd Catch2-2.13.4
 | 
			
		||||
        cmake -Bbuild -H. -DBUILD_TESTING=OFF
 | 
			
		||||
        sudo cmake --build build/ --target install
 | 
			
		||||
 | 
			
		||||
    - name: Fetch external libs
 | 
			
		||||
      run: |
 | 
			
		||||
        # Download
 | 
			
		||||
        curl http://www.un4seen.com/files/bass24-linux.zip -o bass_linux.zip
 | 
			
		||||
        curl http://www.un4seen.com/files/bassopus24-linux.zip -o bassopus_linux.zip
 | 
			
		||||
        curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-linux.zip -o discord_rpc_linux.zip
 | 
			
		||||
        # Extract
 | 
			
		||||
        unzip bass_linux.zip
 | 
			
		||||
        unzip bassopus_linux.zip
 | 
			
		||||
        unzip discord_rpc_linux.zip
 | 
			
		||||
        # Copy
 | 
			
		||||
        cp x64/libbass.so lib
 | 
			
		||||
        cp x64/libbassopus.so lib
 | 
			
		||||
        cp discord-rpc/linux-dynamic/lib/libdiscord-rpc.so lib
 | 
			
		||||
 | 
			
		||||
    - name: Install Qt5
 | 
			
		||||
      run: sudo apt update -y && sudo apt install -y qt5-default
 | 
			
		||||
 | 
			
		||||
    - name: Install QtApng
 | 
			
		||||
      run: |
 | 
			
		||||
        git clone https://github.com/Skycoder42/QtApng
 | 
			
		||||
        cd QtApng
 | 
			
		||||
        qmake
 | 
			
		||||
        make
 | 
			
		||||
        sudo make install
 | 
			
		||||
 | 
			
		||||
    - name: Create Build Environment
 | 
			
		||||
      # Some projects don't allow in-source building, so create a separate build directory
 | 
			
		||||
      # We'll use this as our working directory for all subsequent commands
 | 
			
		||||
      run: cmake -E make_directory ${{github.workspace}}/build
 | 
			
		||||
 | 
			
		||||
    - name: Configure CMake
 | 
			
		||||
      # Use a bash shell so we can use the same syntax for environment variable
 | 
			
		||||
      # access regardless of the host operating system
 | 
			
		||||
      shell: bash
 | 
			
		||||
      env:
 | 
			
		||||
        CC: gcc-10
 | 
			
		||||
        CXX: g++-10
 | 
			
		||||
      working-directory: ${{github.workspace}}/build
 | 
			
		||||
      # Note the current convention is to use the -S and -B options here to specify source
 | 
			
		||||
      # and build directories, but this is only available with CMake 3.13 and higher.
 | 
			
		||||
      # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
 | 
			
		||||
      run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
 | 
			
		||||
 | 
			
		||||
    - name: Build
 | 
			
		||||
      working-directory: ${{github.workspace}}/build
 | 
			
		||||
      shell: bash
 | 
			
		||||
      # Execute the build.  You can specify a specific target with "--target <NAME>"
 | 
			
		||||
      run: cmake --build . --config $BUILD_TYPE --target Attorney_Online
 | 
			
		||||
 | 
			
		||||
    - name: Strip
 | 
			
		||||
      working-directory: ${{github.workspace}}/build
 | 
			
		||||
      shell: bash
 | 
			
		||||
      run: strip -s Attorney_Online
 | 
			
		||||
 | 
			
		||||
    - name: Compress
 | 
			
		||||
      working-directory: ${{github.workspace}}/build
 | 
			
		||||
      shell: bash
 | 
			
		||||
      run: tar czvf Attorney_Online-linux-x86_64.tgz Attorney_Online
 | 
			
		||||
        qmake CONFIG+=install_ok QT_PLATFORM=msvc2019_64
 | 
			
		||||
        ${{steps.qt.outputs.make}} qmake_all
 | 
			
		||||
 | 
			
		||||
    - name: Upload Artifact
 | 
			
		||||
      uses: actions/upload-artifact@v2
 | 
			
		||||
      with:
 | 
			
		||||
        name: Attorney_Online
 | 
			
		||||
        path: ${{github.workspace}}/build/Attorney_Online-linux-x86_64.tgz
 | 
			
		||||
        path: ${{github.workspace}}/bin/Attorney_Online
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # linux:
 | 
			
		||||
  #   # The CMake configure and build commands are platform agnostic and should work equally
 | 
			
		||||
  #   # well on Windows or Mac.  You can convert this to a matrix build if you need
 | 
			
		||||
  #   # cross-platform coverage.
 | 
			
		||||
  #   # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
 | 
			
		||||
  #   runs-on: ubuntu-20.04
 | 
			
		||||
 | 
			
		||||
  #   steps:
 | 
			
		||||
  #   - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
  #   - name: Install catch2
 | 
			
		||||
  #     run: |
 | 
			
		||||
  #       curl -L https://github.com/catchorg/Catch2/archive/v2.13.4.tar.gz -o catch2.tar.gz
 | 
			
		||||
  #       tar xvf catch2.tar.gz
 | 
			
		||||
  #       cd Catch2-2.13.4
 | 
			
		||||
  #       cmake -Bbuild -H. -DBUILD_TESTING=OFF
 | 
			
		||||
  #       sudo cmake --build build/ --target install
 | 
			
		||||
 | 
			
		||||
  #   - name: Fetch external libs
 | 
			
		||||
  #     run: |
 | 
			
		||||
  #       # Download
 | 
			
		||||
  #       curl http://www.un4seen.com/files/bass24-linux.zip -o bass_linux.zip
 | 
			
		||||
  #       curl http://www.un4seen.com/files/bassopus24-linux.zip -o bassopus_linux.zip
 | 
			
		||||
  #       curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-linux.zip -o discord_rpc_linux.zip
 | 
			
		||||
  #       # Extract
 | 
			
		||||
  #       unzip bass_linux.zip
 | 
			
		||||
  #       unzip bassopus_linux.zip
 | 
			
		||||
  #       unzip discord_rpc_linux.zip
 | 
			
		||||
  #       # Copy
 | 
			
		||||
  #       cp x64/libbass.so lib
 | 
			
		||||
  #       cp x64/libbassopus.so lib
 | 
			
		||||
  #       cp discord-rpc/linux-dynamic/lib/libdiscord-rpc.so lib
 | 
			
		||||
 | 
			
		||||
  #   - name: Install Qt5
 | 
			
		||||
  #     run: sudo apt update -y && sudo apt install -y qt5-default
 | 
			
		||||
 | 
			
		||||
  #   - name: Install QtApng
 | 
			
		||||
  #     run: |
 | 
			
		||||
  #       git clone https://github.com/Skycoder42/QtApng
 | 
			
		||||
  #       cd QtApng
 | 
			
		||||
  #       qmake
 | 
			
		||||
  #       make
 | 
			
		||||
  #       sudo make install
 | 
			
		||||
 | 
			
		||||
  #   - name: Create Build Environment
 | 
			
		||||
  #     # Some projects don't allow in-source building, so create a separate build directory
 | 
			
		||||
  #     # We'll use this as our working directory for all subsequent commands
 | 
			
		||||
  #     run: cmake -E make_directory ${{github.workspace}}/build
 | 
			
		||||
 | 
			
		||||
  #   - name: Configure CMake
 | 
			
		||||
  #     # Use a bash shell so we can use the same syntax for environment variable
 | 
			
		||||
  #     # access regardless of the host operating system
 | 
			
		||||
  #     shell: bash
 | 
			
		||||
  #     env:
 | 
			
		||||
  #       CC: gcc-10
 | 
			
		||||
  #       CXX: g++-10
 | 
			
		||||
  #     working-directory: ${{github.workspace}}/build
 | 
			
		||||
  #     # Note the current convention is to use the -S and -B options here to specify source
 | 
			
		||||
  #     # and build directories, but this is only available with CMake 3.13 and higher.
 | 
			
		||||
  #     # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
 | 
			
		||||
  #     run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
 | 
			
		||||
 | 
			
		||||
  #   - name: Build
 | 
			
		||||
  #     working-directory: ${{github.workspace}}/build
 | 
			
		||||
  #     shell: bash
 | 
			
		||||
  #     # Execute the build.  You can specify a specific target with "--target <NAME>"
 | 
			
		||||
  #     run: cmake --build . --config $BUILD_TYPE --target Attorney_Online
 | 
			
		||||
 | 
			
		||||
  #   - name: Strip
 | 
			
		||||
  #     working-directory: ${{github.workspace}}/build
 | 
			
		||||
  #     shell: bash
 | 
			
		||||
  #     run: strip -s Attorney_Online
 | 
			
		||||
 | 
			
		||||
  #   - name: Compress
 | 
			
		||||
  #     working-directory: ${{github.workspace}}/build
 | 
			
		||||
  #     shell: bash
 | 
			
		||||
  #     run: tar czvf Attorney_Online-linux-x86_64.tgz Attorney_Online
 | 
			
		||||
 | 
			
		||||
  #   - name: Upload Artifact
 | 
			
		||||
  #     uses: actions/upload-artifact@v2
 | 
			
		||||
  #     with:
 | 
			
		||||
  #       name: Attorney_Online
 | 
			
		||||
  #       path: ${{github.workspace}}/build/Attorney_Online-linux-x86_64.tgz
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user