mirror of https://git.suyu.dev/suyu/suyu
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
name: 'yuzu verify'
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    branches: [ master ]
 | 
						|
 | 
						|
jobs:
 | 
						|
  format:
 | 
						|
    name: 'verify format'
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    container:
 | 
						|
      image: yuzuemu/build-environments:linux-clang-format
 | 
						|
      options: -u 1001
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v2
 | 
						|
        with:
 | 
						|
          submodules: false
 | 
						|
      - name: 'Verify Formatting'
 | 
						|
        run: bash -ex ./.ci/scripts/format/script.sh
 | 
						|
  build:
 | 
						|
    name: 'test build'
 | 
						|
    needs: format
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        include:
 | 
						|
          - type: clang
 | 
						|
            image: linux-fresh
 | 
						|
          - type: linux
 | 
						|
            image: linux-fresh
 | 
						|
          - type: windows
 | 
						|
            image: linux-mingw
 | 
						|
    container:
 | 
						|
      image: yuzuemu/build-environments:${{ matrix.image }}
 | 
						|
      options: -u 1001
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v2
 | 
						|
        with:
 | 
						|
          submodules: recursive
 | 
						|
          fetch-depth: 0
 | 
						|
      - name: Set up cache
 | 
						|
        uses: actions/cache@v2
 | 
						|
        id: ccache-restore
 | 
						|
        with:
 | 
						|
          path: ~/.ccache
 | 
						|
          key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }}
 | 
						|
          restore-keys: |
 | 
						|
                        ${{ runner.os }}-${{ matrix.type }}-
 | 
						|
      - name: Create ccache directory
 | 
						|
        if: steps.ccache-restore.outputs.cache-hit != 'true'
 | 
						|
        run: mkdir -p ~/.ccache
 | 
						|
      - name: Build
 | 
						|
        run: ./.ci/scripts/${{ matrix.type }}/docker.sh
 | 
						|
        env:
 | 
						|
          ENABLE_COMPATIBILITY_REPORTING: "ON"
 | 
						|
  build-msvc:
 | 
						|
    name: 'test build (windows, msvc)'
 | 
						|
    needs: format
 | 
						|
    runs-on: windows-2019
 | 
						|
    steps:
 | 
						|
      - name: Set up cache
 | 
						|
        uses: actions/cache@v2
 | 
						|
        with:
 | 
						|
          path: ~/.buildcache
 | 
						|
          key: ${{ runner.os }}-msvc-${{ github.sha }}
 | 
						|
          restore-keys: |
 | 
						|
                        ${{ runner.os }}-msvc-
 | 
						|
      - name: Install dependencies
 | 
						|
        shell: cmd
 | 
						|
        run: |
 | 
						|
          choco install vulkan-sdk wget
 | 
						|
          python -m pip install --upgrade pip conan
 | 
						|
          call refreshenv
 | 
						|
          wget https://github.com/mbitsnbites/buildcache/releases/download/v0.27.6/buildcache-windows.zip
 | 
						|
          7z x buildcache-windows.zip
 | 
						|
          copy buildcache\bin\buildcache.exe C:\ProgramData\chocolatey\bin
 | 
						|
          rmdir buildcache
 | 
						|
          echo %PATH% >> %GITHUB_PATH%          
 | 
						|
      - name: Set up MSVC
 | 
						|
        uses: ilammy/msvc-dev-cmd@v1
 | 
						|
      - uses: actions/checkout@v2
 | 
						|
        with:
 | 
						|
          submodules: recursive
 | 
						|
          fetch-depth: 0
 | 
						|
      - name: Configure
 | 
						|
        env:
 | 
						|
          CC: cl.exe
 | 
						|
          CXX: cl.exe
 | 
						|
        run: |
 | 
						|
          glslangValidator --version
 | 
						|
          mkdir build
 | 
						|
          cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release          
 | 
						|
      - name: Build
 | 
						|
        run: cmake --build build
 | 
						|
      - name: Cache Summary
 | 
						|
        run: buildcache -s
 |