mirror of
				https://github.com/RetroDECK/RetroDECK.git
				synced 2025-04-10 19:15:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: main-selfhosted
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
     - main
 | 
						|
  pull_request: 
 | 
						|
    branches:
 | 
						|
     - main
 | 
						|
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
 | 
						|
jobs:
 | 
						|
 | 
						|
  Building_RetroDECK:
 | 
						|
    runs-on: self-hosted
 | 
						|
    steps:
 | 
						|
 | 
						|
      - name: Remove stuck mounts
 | 
						|
        run: sudo umount -f /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
 | 
						|
        continue-on-error: true
 | 
						|
 | 
						|
      - name: Generate build ID
 | 
						|
        id: generating_buildid
 | 
						|
        run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")"
 | 
						|
      
 | 
						|
      - uses: actions/checkout@v3
 | 
						|
 | 
						|
      - name: Initialize enviornment
 | 
						|
        run: |
 | 
						|
          git pull
 | 
						|
          git submodule init
 | 
						|
          git submodule update
 | 
						|
          sudo apt install -y flatpak flatpak-builder p7zip-full
 | 
						|
          flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
 | 
						|
          flatpak install --user -y --noninteractive \
 | 
						|
          org.kde.Sdk//6.3 \
 | 
						|
          org.kde.Platform//6.3 \
 | 
						|
          org.freedesktop.Platform.ffmpeg-full/x86_64/21.08 \
 | 
						|
          io.qt.qtwebengine.BaseApp/x86_64/6.3 \
 | 
						|
          org.freedesktop.Sdk.Extension.llvm13 \
 | 
						|
          org.freedesktop.Sdk.Extension.dotnet6/x86_64/21.08          
 | 
						|
 | 
						|
      - name: Build flatpak
 | 
						|
        run: |
 | 
						|
          git config --global protocol.allow always
 | 
						|
          flatpak-builder --user --force-clean --install-deps-from=flathub --install-deps-from=flathub-beta --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-main net.retrodeck.retrodeck.yml          
 | 
						|
 | 
						|
      - name: Create Artifact for flathub
 | 
						|
        run: | 
 | 
						|
          tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-main .
 | 
						|
          hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz))
 | 
						|
          echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact.sha
 | 
						|
          mv -f RetroDECK-Artifact.* ${{ secrets.ARTIFACT_REPO }}
 | 
						|
        continue-on-error: true
 | 
						|
 | 
						|
      - name: Create Bundle
 | 
						|
        run: |
 | 
						|
          flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK.flatpak net.retrodeck.retrodeck          
 | 
						|
 | 
						|
      - name: Publish the flatpak in a new release
 | 
						|
        uses: ncipollo/release-action@v1
 | 
						|
        with:
 | 
						|
          tag: "${{ steps.generating_buildid.outputs.build-id }}"
 | 
						|
          body: |
 | 
						|
            # Release Notes
 | 
						|
 | 
						|
            ( Write release notes here )            
 | 
						|
 | 
						|
          artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
 | 
						|
          allowUpdates: true
 | 
						|
          prerelease: true
 | 
						|
          draft: true
 | 
						|
          token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
 | 
						|
          repo: RetroDECK
 | 
						|
        continue-on-error: true
 | 
						|
 | 
						|
      # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
 | 
						|
      - name: Upload RetroDECK.flatpak
 | 
						|
        uses: actions/upload-artifact@v3
 | 
						|
        with:
 | 
						|
          name: retrodeck-flatpak
 | 
						|
          path: RetroDECK.flatpak
 | 
						|
        continue-on-error: true |