Add .gitea/workflow/build_sd2psx.yml
This commit is contained in:
		
							
								
								
									
										98
									
								
								.gitea/workflow/build_sd2psx.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								.gitea/workflow/build_sd2psx.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					name: Build Nightly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - '*'
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - 'develop'
 | 
				
			||||||
 | 
					      - 'main'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  BUILD_TYPE: Release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    strategy:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        target: [SD2PSX, SD2PSXlite, PMC+, PMCZero, PSXMemCard]
 | 
				
			||||||
 | 
					        debug: [ON, OFF]
 | 
				
			||||||
 | 
					        include:
 | 
				
			||||||
 | 
					          - debug: ON
 | 
				
			||||||
 | 
					            ext: -debug.uf2
 | 
				
			||||||
 | 
					            delay: 3
 | 
				
			||||||
 | 
					          - debug: OFF
 | 
				
			||||||
 | 
					            ext: .uf2
 | 
				
			||||||
 | 
					            delay: 0
 | 
				
			||||||
 | 
					          - target: SD2PSX
 | 
				
			||||||
 | 
					            filename: sd2psx
 | 
				
			||||||
 | 
					          - target: SD2PSXlite
 | 
				
			||||||
 | 
					            filename: sd2psxlite
 | 
				
			||||||
 | 
					          - target: PMC+
 | 
				
			||||||
 | 
					            filename: pmc+
 | 
				
			||||||
 | 
					          - target: PMCZero
 | 
				
			||||||
 | 
					            filename: pmczero
 | 
				
			||||||
 | 
					          - target: PSXMemCard
 | 
				
			||||||
 | 
					            filename: psxmemcard
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Clone Repository
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        git clone --recursive --depth=1 https://gitea.example.com/user/repo.git .
 | 
				
			||||||
 | 
					        git fetch origin --tags --force
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Set Version
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        TAG=$(git describe --tags --exact-match HEAD --exclude=latest --exclude=nightly) || true
 | 
				
			||||||
 | 
					        if [ "$TAG" ]; then
 | 
				
			||||||
 | 
					          echo "SD2PSX_VERSION=${TAG}" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "SD2PSX_RLS_TAG=latest" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "${TAG}"
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          echo "SD2PSX_VERSION=nightly-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "SD2PSX_RLS_TAG=nightly" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          echo "nightly"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Install Dependencies
 | 
				
			||||||
 | 
					      run: sudo apt-get update && sudo apt-get install -y cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib clangd git python3-venv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Build
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DDEBUG_USB_UART:BOOL=${{ matrix.debug }} -DVARIANT:STRING=${{ matrix.target }} -DDEBUG_STARTUP_DELAY=${{ matrix.delay }} -G "Unix Makefiles"
 | 
				
			||||||
 | 
					        cmake --build ${{ github.workspace }}/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Upload Artifacts
 | 
				
			||||||
 | 
					      uses: gitea/actions/upload-artifact@v1
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        name: ${{ matrix.filename }}${{ matrix.ext }}
 | 
				
			||||||
 | 
					        path: build/${{ matrix.filename }}${{ matrix.ext }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  create_release:
 | 
				
			||||||
 | 
					    needs: [build]
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Download All Artifacts
 | 
				
			||||||
 | 
					      uses: gitea/actions/download-artifact@v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Create Nightly Release
 | 
				
			||||||
 | 
					      if: "!startsWith(github.ref, 'refs/tags/')"
 | 
				
			||||||
 | 
					      uses: gitea/actions/create-release@v1
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        token: "${{ secrets.GITEA_TOKEN }}"
 | 
				
			||||||
 | 
					        prerelease: true
 | 
				
			||||||
 | 
					        tag_name: "nightly"
 | 
				
			||||||
 | 
					        title: "${{ env.SD2PSX_VERSION }}"
 | 
				
			||||||
 | 
					        files: |
 | 
				
			||||||
 | 
					          */*.uf2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Create Tagged Release
 | 
				
			||||||
 | 
					      if: "startsWith(github.ref, 'refs/tags/')"
 | 
				
			||||||
 | 
					      uses: gitea/actions/create-release@v1
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        token: "${{ secrets.GITEA_TOKEN }}"
 | 
				
			||||||
 | 
					        prerelease: "${{ contains(github.ref, '-rc') || contains(github.ref, '-beta') }}"
 | 
				
			||||||
 | 
					        tag_name: "${{ github.ref_name }}"
 | 
				
			||||||
 | 
					        title: "${{ env.SD2PSX_VERSION }}"
 | 
				
			||||||
 | 
					        files: |
 | 
				
			||||||
 | 
					          */*.uf2
 | 
				
			||||||
		Reference in New Issue
	
	Block a user