From 12f7125335086ad6c03bb00be95f564c1d446a8f Mon Sep 17 00:00:00 2001 From: str1k3r <1+str1k3r@noreply.localhost> Date: Tue, 21 Jul 2026 17:25:18 +0000 Subject: [PATCH 1/7] feat: test ps3 workflow --- .gitea/workflows/ps3.yaml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .gitea/workflows/ps3.yaml diff --git a/.gitea/workflows/ps3.yaml b/.gitea/workflows/ps3.yaml new file mode 100644 index 00000000..c416563d --- /dev/null +++ b/.gitea/workflows/ps3.yaml @@ -0,0 +1,32 @@ +name: Build PS3 + +on: + workflow_dispatch: + +jobs: + build: + runs-on: windows-2022 + + strategy: + matrix: + configuration: [Release, Debug] + + steps: + - name: Checkout Repository + uses: https://github.com/actions/checkout@v4 + + - name: Setup MSBuild + uses: https://github.com/microsoft/setup-msbuild@v2 + + - name: Build Minecraft Legacy Console Edition + run: | + msbuild MinecraftConsoles.sln ` + /p:Configuration=${{ matrix.configuration }} ` + /p:Platform=PS3 ` + /m + + - name: Upload Release + Debug Artifacts + uses: https://github.com/actions/upload-artifact@v3 + with: + name: MinecraftClient-${{ matrix.configuration }} + path: x64/${{ matrix.configuration }} \ No newline at end of file From 79bfa4eb561ed03c0239989e16dae928ebfadfb5 Mon Sep 17 00:00:00 2001 From: str1k3r <1+str1k3r@noreply.localhost> Date: Tue, 21 Jul 2026 17:43:12 +0000 Subject: [PATCH 2/7] fix: using wrong msbuild ver --- .gitea/workflows/ps3.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitea/workflows/ps3.yaml b/.gitea/workflows/ps3.yaml index c416563d..adcbdbd5 100644 --- a/.gitea/workflows/ps3.yaml +++ b/.gitea/workflows/ps3.yaml @@ -15,12 +15,9 @@ jobs: - name: Checkout Repository uses: https://github.com/actions/checkout@v4 - - name: Setup MSBuild - uses: https://github.com/microsoft/setup-msbuild@v2 - - name: Build Minecraft Legacy Console Edition run: | - msbuild MinecraftConsoles.sln ` + "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` /p:Configuration=${{ matrix.configuration }} ` /p:Platform=PS3 ` /m From cba1f9ea3b6c1a9f5fd8275562111cdaf2b6d9fc Mon Sep 17 00:00:00 2001 From: str1k3r <1+str1k3r@noreply.localhost> Date: Tue, 21 Jul 2026 17:49:29 +0000 Subject: [PATCH 3/7] fix: workflow --- .gitea/workflows/ps3.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ps3.yaml b/.gitea/workflows/ps3.yaml index adcbdbd5..038332d2 100644 --- a/.gitea/workflows/ps3.yaml +++ b/.gitea/workflows/ps3.yaml @@ -16,8 +16,9 @@ jobs: uses: https://github.com/actions/checkout@v4 - name: Build Minecraft Legacy Console Edition + shell: pwsh run: | - "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` + & "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` /p:Configuration=${{ matrix.configuration }} ` /p:Platform=PS3 ` /m @@ -26,4 +27,4 @@ jobs: uses: https://github.com/actions/upload-artifact@v3 with: name: MinecraftClient-${{ matrix.configuration }} - path: x64/${{ matrix.configuration }} \ No newline at end of file + path: PS3_${{ matrix.configuration }} \ No newline at end of file From e0ed220c6939fe64b445574b5433596d7216b2c9 Mon Sep 17 00:00:00 2001 From: str1k3r <1+str1k3r@noreply.localhost> Date: Tue, 21 Jul 2026 17:51:21 +0000 Subject: [PATCH 4/7] fix: workflow --- .gitea/workflows/ps3.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/ps3.yaml b/.gitea/workflows/ps3.yaml index 038332d2..0291819b 100644 --- a/.gitea/workflows/ps3.yaml +++ b/.gitea/workflows/ps3.yaml @@ -16,7 +16,6 @@ jobs: uses: https://github.com/actions/checkout@v4 - name: Build Minecraft Legacy Console Edition - shell: pwsh run: | & "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` /p:Configuration=${{ matrix.configuration }} ` From 6625df6c3e8a8d2508d4db6c07df245f77fbbafe Mon Sep 17 00:00:00 2001 From: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com> Date: Tue, 21 Jul 2026 14:52:11 -0400 Subject: [PATCH 5/7] feat: release workflow --- .gitea/workflows/ps3.yaml | 29 -------- .gitea/workflows/release.yaml | 122 ++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 29 deletions(-) delete mode 100644 .gitea/workflows/ps3.yaml create mode 100644 .gitea/workflows/release.yaml diff --git a/.gitea/workflows/ps3.yaml b/.gitea/workflows/ps3.yaml deleted file mode 100644 index 0291819b..00000000 --- a/.gitea/workflows/ps3.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: Build PS3 - -on: - workflow_dispatch: - -jobs: - build: - runs-on: windows-2022 - - strategy: - matrix: - configuration: [Release, Debug] - - steps: - - name: Checkout Repository - uses: https://github.com/actions/checkout@v4 - - - name: Build Minecraft Legacy Console Edition - run: | - & "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` - /p:Configuration=${{ matrix.configuration }} ` - /p:Platform=PS3 ` - /m - - - name: Upload Release + Debug Artifacts - uses: https://github.com/actions/upload-artifact@v3 - with: - name: MinecraftClient-${{ matrix.configuration }} - path: PS3_${{ matrix.configuration }} \ No newline at end of file diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 00000000..68a523c7 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,122 @@ +name: Build & Release + +on: + workflow_dispatch: + inputs: + version: + description: 'Version tag for release (e.g. v1.0.0).' + required: true + default: '' + notes: + description: 'URL to notes for release.' + required: false + default: '' + +jobs: + validate: + runs-on: windows-2022 + steps: + - name: Validate version format + shell: pwsh + run: | + if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) { + Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)" + exit 1 + } + + build: + runs-on: windows-2022 + + strategy: + matrix: + configuration: [Release] + platform: [PS3, Windows64] #[PS3, PSVita, Xbox 360, ORBIS, Windows64] + + steps: + - name: Checkout Repository + uses: https://github.com/actions/checkout@v4 + + - name: Build Cafeberry + run: | + & "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MinecraftConsoles.sln ` + /p:Configuration=${{ matrix.configuration }} ` + /p:Platform=${{ matrix.platform }} ` + /m + + - name: Zip Build (Consoles) + if: matrix.platform != 'Windows64' + run: 7z a -r LCE${{ matrix.platform }}.zip ./${{ matrix.platform }}_${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj" + + - name: Zip Build (Windows64) + if: matrix.platform == 'Windows64' + run: 7z a -r LCE${{ matrix.platform }}.zip ./x64/${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj" + + - name: Stage artifacts + run: | + New-Item -ItemType Directory -Force -Path staging + Copy-Item LCE${{ matrix.platform }}.zip staging/ + + - name: Stage artifacts + run: | + New-Item -ItemType Directory -Force -Path staging + Copy-Item LCE${{ matrix.platform }}.zip staging/ + + - name: Stage exe + if: matrix.platform == 'Windows64' + run: | + Copy-Item ./x64/${{ matrix.platform }}/Minecraft.Client.exe staging/ + + - name: Upload artifacts + uses: https://github.com/actions/upload-artifact@v3 + with: + name: build-${{ matrix.platform }} + path: staging/* + + release: + needs: build + runs-on: windows-2022 + steps: + - name: Checkout Repository + uses: https://github.com/actions/checkout@v4 + + - name: Download all build artifacts + uses: https://github.com/actions/download-artifact@v3 + with: + path: downloaded + + - name: Read release notes + id: notes + run: | + $notesSource = "${{ inputs.notes }}" + $fallback = "## Cafeberry`n`n### Whoever made this release forgot to put notes, sorry!" + + if ($notesSource -match '^https?://') { + try { + $body = (Invoke-WebRequest -Uri $notesSource -UseBasicParsing).Content + if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback } + } catch { + $body = $fallback + } + } else { + if (Test-Path $notesSource) { + $body = Get-Content -Raw -Path $notesSource + if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback } + } else { + $body = $fallback + } + } + + "description< Date: Tue, 21 Jul 2026 14:54:07 -0400 Subject: [PATCH 6/7] fix: workflow --- .gitea/workflows/release.yaml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 68a523c7..b8b81727 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -17,7 +17,6 @@ jobs: runs-on: windows-2022 steps: - name: Validate version format - shell: pwsh run: | if (-not ("${{ inputs.version }}" -match '^v\d+\.\d+\.\d+[a-zA-Z0-9.-]*$')) { Write-Error "Version '${{ inputs.version }}' doesn't match expected format (e.g. v1.0.0)" @@ -51,11 +50,6 @@ jobs: if: matrix.platform == 'Windows64' run: 7z a -r LCE${{ matrix.platform }}.zip ./x64/${{ matrix.configuration }}/* "-x!*.ipdb" "-x!*.iobj" - - name: Stage artifacts - run: | - New-Item -ItemType Directory -Force -Path staging - Copy-Item LCE${{ matrix.platform }}.zip staging/ - - name: Stage artifacts run: | New-Item -ItemType Directory -Force -Path staging @@ -84,7 +78,7 @@ jobs: with: path: downloaded - - name: Read release notes + - name: Fetch release notes id: notes run: | $notesSource = "${{ inputs.notes }}" @@ -97,18 +91,11 @@ jobs: } catch { $body = $fallback } - } else { - if (Test-Path $notesSource) { - $body = Get-Content -Raw -Path $notesSource - if ([string]::IsNullOrWhiteSpace($body)) { $body = $fallback } - } else { - $body = $fallback - } } "description< Date: Tue, 21 Jul 2026 16:02:55 -0400 Subject: [PATCH 7/7] fix: workflow stage exe path --- .gitea/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index b8b81727..601f5c08 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -58,7 +58,7 @@ jobs: - name: Stage exe if: matrix.platform == 'Windows64' run: | - Copy-Item ./x64/${{ matrix.platform }}/Minecraft.Client.exe staging/ + Copy-Item ./x64/${{ matrix.configuration }}/Minecraft.Client.exe staging/ - name: Upload artifacts uses: https://github.com/actions/upload-artifact@v3