mirror of
				https://github.com/Laupetin/OpenAssetTools.git
				synced 2025-11-03 20:17:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: release
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    tags:
 | 
						|
      - "v*.*.*"
 | 
						|
 | 
						|
env:
 | 
						|
  PREMAKE_VERSION: "5.0.0-beta2"
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-release-linux:
 | 
						|
    env:
 | 
						|
      PREMAKE_CONFIG: gmake2
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    container: ubuntu:24.04
 | 
						|
    steps:
 | 
						|
      - name: Install g++ and multilib
 | 
						|
        run: |
 | 
						|
          apt-get update
 | 
						|
          apt-get install -y git make gcc-13 g++-13 gcc-13-multilib g++-13-multilib
 | 
						|
          update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13
 | 
						|
          update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13
 | 
						|
          update-alternatives --set gcc /usr/bin/gcc-13
 | 
						|
          update-alternatives --set g++ /usr/bin/g++-13
 | 
						|
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: actions/checkout@v4
 | 
						|
        with:
 | 
						|
          submodules: recursive
 | 
						|
 | 
						|
      - name: Setup premake
 | 
						|
        uses: abel0b/setup-premake@v2.4
 | 
						|
        with:
 | 
						|
          version: ${{ env.PREMAKE_VERSION }}
 | 
						|
 | 
						|
      - name: Premake generate
 | 
						|
        working-directory: ${{ github.workspace }}
 | 
						|
        run: premake5 ${{ env.PREMAKE_CONFIG }}
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        working-directory: ${{ github.workspace }}
 | 
						|
        run: make -C build -j$(nproc) config=release_x86 all
 | 
						|
 | 
						|
      - name: Upload artifacts
 | 
						|
        uses: actions/upload-artifact@v4
 | 
						|
        with:
 | 
						|
          name: oat-linux
 | 
						|
          path: |
 | 
						|
            ${{ github.workspace }}/build/bin/Release_x86
 | 
						|
 | 
						|
  build-release-windows:
 | 
						|
    env:
 | 
						|
      PREMAKE_CONFIG: vs2022
 | 
						|
    runs-on: windows-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout repository
 | 
						|
        uses: actions/checkout@v4
 | 
						|
        with:
 | 
						|
          submodules: recursive
 | 
						|
 | 
						|
      - name: Add MSBuild to PATH
 | 
						|
        uses: microsoft/setup-msbuild@v2.0.0
 | 
						|
 | 
						|
      - name: Setup premake
 | 
						|
        uses: abel0b/setup-premake@v2.4
 | 
						|
        with:
 | 
						|
          version: ${{ env.PREMAKE_VERSION }}
 | 
						|
 | 
						|
      - name: Premake generate
 | 
						|
        working-directory: ${{ github.workspace }}
 | 
						|
        run: premake5 ${{ env.PREMAKE_CONFIG }}
 | 
						|
 | 
						|
      - name: Build
 | 
						|
        working-directory: ${{ github.workspace }}
 | 
						|
        run: msbuild /m /p:Configuration=Release /p:Platform=Win32 build
 | 
						|
        
 | 
						|
      - name: Upload artifacts
 | 
						|
        uses: actions/upload-artifact@v4
 | 
						|
        with:
 | 
						|
          name: oat-windows
 | 
						|
          path: |
 | 
						|
            ${{ github.workspace }}/build/bin/Release_x86
 | 
						|
  
 | 
						|
  release:
 | 
						|
    needs: 
 | 
						|
      - build-release-linux
 | 
						|
      - build-release-windows
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    permissions:
 | 
						|
      actions: read
 | 
						|
      contents: write
 | 
						|
    steps:
 | 
						|
      - uses: actions/download-artifact@v4
 | 
						|
      - name: Zip artifacts
 | 
						|
        run: |
 | 
						|
          7z a oat-linux.tar ./oat-linux/*
 | 
						|
          7z a oat-linux.tar.gz ./oat-linux.tar
 | 
						|
          7z a oat-windows.zip ./oat-windows/*
 | 
						|
      - uses: ncipollo/release-action@v1
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
        with:
 | 
						|
          artifacts: "oat-linux.tar.gz,oat-windows.zip"
 | 
						|
          artifactErrorsFailBuild: true
 | 
						|
          allowUpdates: true
 | 
						|
          draft: true
 | 
						|
          omitBodyDuringUpdate: true
 | 
						|
          omitDraftDuringUpdate: true |