diff --git a/.gitea/workflows/release-windows.yml b/.gitea/workflows/release-windows.yml new file mode 100644 index 0000000..e00c020 --- /dev/null +++ b/.gitea/workflows/release-windows.yml @@ -0,0 +1,63 @@ +name: release-windows + +on: + push: + branches: + - dev + - main + tags: + - '*' + +jobs: + build-and-release-win: + runs-on: windows-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set build config + id: config + run: | + echo "PLATFORM=Win64" >> $env:GITHUB_ENV + echo "CONFIGURATION=Shipping" >> $env:GITHUB_ENV + echo "PROJECT_FILE=MyProject\MyProject.uproject" >> $env:GITHUB_ENV + echo "OUTPUT_DIR=${{ github.workspace }}\output" >> $env:GITHUB_ENV + echo "UE_PATH=C:\\Path\\To\\UnrealEngine" >> $env:GITHUB_ENV + + - name: Build Unreal Project (Windows) + uses: ./.gitea/actions/build-ue-project-win + with: + platform: ${{ env.PLATFORM }} + ue_path: ${{ env.UE_PATH }} + project_file: ${{ env.PROJECT_FILE }} + configuration: ${{ env.CONFIGURATION }} + output: ${{ env.OUTPUT_DIR }} + + - name: Upload package artifact + uses: actions/upload-artifact@v4 + with: + name: ue-build-win-${{ github.ref_name }} + path: ${{ env.OUTPUT_DIR }} + + - name: Create Release on Tag + if: startsWith(github.ref, 'refs/tags/') + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITEA_TOKEN }} + with: + tag_name: ${{ github.ref_name }} + release_name: "Unreal Build Windows ${{ github.ref_name }}" + body: "Automatically built from tag ${{ github.ref_name }}." + draft: false + prerelease: false + + - name: Upload Release Asset (Windows) + if: startsWith(github.ref, 'refs/tags/') + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITEA_TOKEN }} + with: + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_path: ${{ env.OUTPUT_DIR }} + asset_name: ue-package-win-${{ github.ref_name }}.zip + asset_content_type: application/zip \ No newline at end of file