mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-10-30 19:29:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			132 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
| name: "feature build"
 | |
| on:
 | |
|   workflow_dispatch:
 | |
| 
 | |
| env:
 | |
|   GODOT_VERSION: 4.4.stable
 | |
|   EXPORT_NAME: SuperMarioBrosRemastered
 | |
| 
 | |
| jobs:
 | |
|   export:
 | |
|     strategy:
 | |
|       max-parallel: 3
 | |
|       matrix:
 | |
|         environment:
 | |
|           [
 | |
|             {
 | |
|               godot_template: "Windows Desktop x86",
 | |
|               output_dir: windows_x86,
 | |
|               file_suffix: "exe",
 | |
|               os: windows,
 | |
|               architecture: x86,
 | |
|             },
 | |
|             {
 | |
|               godot_template: "Linux x86",
 | |
|               output_dir: linux_x86,
 | |
|               file_suffix: "x86_64",
 | |
|               os: linux,
 | |
|               architecture: x86,
 | |
|             },
 | |
|             {
 | |
|               godot_template: "Linux arm64",
 | |
|               output_dir: linux_arm64,
 | |
|               file_suffix: "arm64",
 | |
|               os: linux,
 | |
|               architecture: arm64,
 | |
|             },
 | |
|           ]
 | |
|     runs-on: ubuntu-22.04
 | |
|     container:
 | |
|       image: ghcr.io/meldanor/godot-ci:4.4-stable-minimal
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|         with:
 | |
|           lfs: true
 | |
|       - name: Setup Godot Templates
 | |
|         run: |
 | |
|           mkdir -v -p ~/.local/share/godot/export_templates/
 | |
|           ln -sf /root/.local/share/godot/export_templates/${GODOT_VERSION} ~/.local/share/godot/export_templates/${GODOT_VERSION}
 | |
|       - name: Build
 | |
|         run: |
 | |
|           mkdir -p build/${{matrix.environment.output_dir}}
 | |
|           godot --headless --verbose --export-release "${{matrix.environment.godot_template}}" build/${{matrix.environment.output_dir}}/$EXPORT_NAME.${{matrix.environment.file_suffix}}
 | |
|           cd build/${{matrix.environment.output_dir}}
 | |
|           zip ${{env.EXPORT_NAME}}.zip *
 | |
|       - name: Upload Artifact
 | |
|         uses: actions/upload-artifact@v4
 | |
|         with:
 | |
|           name: ${{ matrix.environment.output_dir }}
 | |
|           path: build/${{ matrix.environment.output_dir }}/${{ env.EXPORT_NAME }}.zip
 | |
| 
 | |
|   create_release:
 | |
|     needs: export
 | |
|     runs-on: ubuntu-22.04
 | |
|     steps:
 | |
|       - name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|         with:
 | |
|           lfs: true
 | |
|       - name: Set Release Tag
 | |
|         id: set_release_tag
 | |
|         run: echo "RELEASE_TAG=v0.5-dev-$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_ENV
 | |
| 
 | |
|       - name: Create Release
 | |
|         id: create_release
 | |
|         uses: actions/create-release@v1
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|         with:
 | |
|           tag_name: ${{ env.RELEASE_TAG }}
 | |
|           release_name: Release ${{ env.RELEASE_TAG }}
 | |
|           draft: false  # Set draft to false to publish the release immediately
 | |
|           prerelease: true
 | |
| 
 | |
|       - name: Download Windows Artifact
 | |
|         uses: actions/download-artifact@v4
 | |
|         with:
 | |
|           name: windows_x86
 | |
|           path: build/windows_x86/
 | |
| 
 | |
|       - name: Download Linux x86 Artifact
 | |
|         uses: actions/download-artifact@v4
 | |
|         with:
 | |
|           name: linux_x86
 | |
|           path: build/linux_x86/
 | |
| 
 | |
|       - name: Download Linux arm64 Artifact
 | |
|         uses: actions/download-artifact@v4
 | |
|         with:
 | |
|           name: linux_arm64
 | |
|           path: build/linux_arm64/
 | |
| 
 | |
|       - name: Upload Windows Release Asset
 | |
|         uses: actions/upload-release-asset@v1
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|         with:
 | |
|           upload_url: ${{ steps.create_release.outputs.upload_url }}
 | |
|           asset_path: build/windows_x86/${{env.EXPORT_NAME}}.zip
 | |
|           asset_name: ${{env.EXPORT_NAME}}_windows_x86.zip
 | |
|           asset_content_type: application/zip
 | |
| 
 | |
|       - name: Upload Linux x86 Release Asset
 | |
|         uses: actions/upload-release-asset@v1
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|         with:
 | |
|           upload_url: ${{ steps.create_release.outputs.upload_url }}
 | |
|           asset_path: build/linux_x86/${{env.EXPORT_NAME}}.zip
 | |
|           asset_name: ${{env.EXPORT_NAME}}_linux_x86.zip
 | |
|           asset_content_type: application/zip
 | |
| 
 | |
|       - name: Upload Linux arm64 Release Asset
 | |
|         uses: actions/upload-release-asset@v1
 | |
|         env:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|         with:
 | |
|           upload_url: ${{ steps.create_release.outputs.upload_url }}
 | |
|           asset_path: build/linux_arm64/${{env.EXPORT_NAME}}.zip
 | |
|           asset_name: ${{env.EXPORT_NAME}}_linux_arm64.zip
 | |
|           asset_content_type: application/zip
 | 
