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