mirror of
				https://github.com/alterware/aw-installer.git
				synced 2025-10-31 16:37:12 +00:00 
			
		
		
		
	init
This commit is contained in:
		
							
								
								
									
										162
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,162 @@ | ||||
| name: Build | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "*" | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - "*" | ||||
|     types: [opened, synchronize, reopened] | ||||
|  | ||||
| env: | ||||
|   PREMAKE_VERSION: "5.0.0-beta2" | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.ref }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   build-win: | ||||
|     name: Build Windows | ||||
|     runs-on: windows-latest | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         configuration: | ||||
|           - debug | ||||
|           - release | ||||
|         arch: | ||||
|           - x64 | ||||
|         include: | ||||
|           - arch: x64 | ||||
|             platform: x64 | ||||
|     steps: | ||||
|       - name: Check out files | ||||
|         uses: actions/checkout@main | ||||
|         with: | ||||
|           submodules: true | ||||
|           fetch-depth: 0 | ||||
|           # NOTE - If LFS ever starts getting used during builds, switch this to true! | ||||
|           lfs: false | ||||
|  | ||||
|       - name: Add msbuild to PATH | ||||
|         uses: microsoft/setup-msbuild@main | ||||
|  | ||||
|       - name: Install Premake5 | ||||
|         uses: abel0b/setup-premake@v2.3 | ||||
|         with: | ||||
|           version: ${{ env.PREMAKE_VERSION }} | ||||
|  | ||||
|       - name: Generate project files | ||||
|         run: premake5 vs2022 | ||||
|  | ||||
|       - name: Set up problem matching | ||||
|         uses: ammaraskar/msvc-problem-matcher@master | ||||
|  | ||||
|       - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=${{matrix.platform}} build/aw-installer.sln | ||||
|  | ||||
|       - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         uses: actions/upload-artifact@main | ||||
|         with: | ||||
|           name: windows-${{matrix.arch}}-${{matrix.configuration}} | ||||
|           path: | | ||||
|             build/bin/${{matrix.arch}}/${{matrix.configuration}}/aw-installer.exe | ||||
|             build/bin/${{matrix.arch}}/${{matrix.configuration}}/aw-installer.pdb | ||||
|  | ||||
|   build-linux: | ||||
|     name: Build Linux | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         configuration: | ||||
|           - debug | ||||
|           - release | ||||
|         arch: | ||||
|           - x64 | ||||
|     steps: | ||||
|       - name: Check out files | ||||
|         uses: actions/checkout@main | ||||
|         with: | ||||
|           submodules: true | ||||
|           fetch-depth: 0 | ||||
|           # NOTE - If LFS ever starts getting used during builds, switch this to true! | ||||
|           lfs: false | ||||
|  | ||||
|       - name: Install dependencies (x64) | ||||
|         if: matrix.arch == 'x64' | ||||
|         run: | | ||||
|           sudo apt-get update | ||||
|           sudo apt-get install libcurl4-gnutls-dev -y | ||||
|  | ||||
|       - name: Install Premake5 | ||||
|         uses: abel0b/setup-premake@v2.3 | ||||
|         with: | ||||
|           version: ${{ env.PREMAKE_VERSION }} | ||||
|  | ||||
|       - name: Generate project files | ||||
|         run: premake5 --cc=clang gmake2 | ||||
|  | ||||
|       - name: Set up problem matching | ||||
|         uses: ammaraskar/gcc-problem-matcher@master | ||||
|  | ||||
|       - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         run: | | ||||
|           pushd build | ||||
|           make config=${{matrix.configuration}}_${{matrix.arch}} -j$(nproc) | ||||
|         env: | ||||
|           CC: clang | ||||
|           CXX: clang++ | ||||
|  | ||||
|       - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         uses: actions/upload-artifact@main | ||||
|         with: | ||||
|           name: linux-${{matrix.arch}}-${{matrix.configuration}} | ||||
|           path: | | ||||
|             build/bin/${{matrix.arch}}/${{matrix.configuration}}/aw-installer | ||||
|  | ||||
|   build-macos: | ||||
|     name: Build macOS | ||||
|     runs-on: macos-13 | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         configuration: | ||||
|           - debug | ||||
|           - release | ||||
|         arch: | ||||
|           - x64 | ||||
|           - arm64 | ||||
|     steps: | ||||
|       - name: Check out files | ||||
|         uses: actions/checkout@main | ||||
|         with: | ||||
|           submodules: true | ||||
|           fetch-depth: 0 | ||||
|           # NOTE - If LFS ever starts getting used during builds, switch this to true! | ||||
|           lfs: false | ||||
|  | ||||
|       - name: Install Premake5 | ||||
|         uses: abel0b/setup-premake@v2.3 | ||||
|         with: | ||||
|           version: ${{ env.PREMAKE_VERSION }} | ||||
|  | ||||
|       - name: Generate project files | ||||
|         run: premake5 gmake2 | ||||
|  | ||||
|       - name: Set up problem matching | ||||
|         uses: ammaraskar/gcc-problem-matcher@master | ||||
|  | ||||
|       - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         run: | | ||||
|           pushd build | ||||
|           make config=${{matrix.configuration}}_${{matrix.arch}} -j$(sysctl -n hw.logicalcpu) | ||||
|  | ||||
|       - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries | ||||
|         uses: actions/upload-artifact@v3.1.3 | ||||
|         with: | ||||
|           name: macos-${{matrix.arch}}-${{matrix.configuration}} | ||||
|           path: | | ||||
|             build/bin/${{matrix.arch}}/${{matrix.configuration}}/aw-installer | ||||
		Reference in New Issue
	
	Block a user