From a5b7165bf760f2d492deb35258c4db6d42fcab69 Mon Sep 17 00:00:00 2001 From: Kroonk Date: Sat, 23 May 2026 10:37:01 +0200 Subject: [PATCH] Track latest mod zip artifact --- Brain.md | 8 +++++++- README.md | 5 ++++- docs/workshop-upload.md | 4 +++- releases/Brogether-Brogether-0.1.0.zip | Bin 0 -> 11466 bytes releases/README.md | 18 ++++++++++++++++++ scripts/package.ps1 | 8 ++++++++ 6 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 releases/Brogether-Brogether-0.1.0.zip create mode 100644 releases/README.md diff --git a/Brain.md b/Brain.md index 77409c9..59ea89f 100644 --- a/Brain.md +++ b/Brain.md @@ -22,7 +22,8 @@ Diese Datei ist das Projektgedaechtnis fuer Brogether. Sie fasst zusammen, was b - Brotato bringt `GodotWorkshopUtility.exe` mit. - Lokale Tools liegen absichtlich untracked unter `.tools/`. - Recovered Brotato-Scripts liegen absichtlich untracked unter `recovered/`. -- Gebaute ZIPs liegen absichtlich untracked unter `dist/`. +- Lokale Build-ZIPs liegen absichtlich untracked unter `dist/`. +- Der aktuelle teilbare Mod-ZIP wird zusaetzlich unter `releases/` committed. ## Relevante Projektstruktur @@ -41,11 +42,16 @@ docs/ setup.md brotato-multiplayer-modding-research.md workshop-upload.md + +releases/ + Brogether-Brogether-0.1.0.zip ``` ## Packaging Und Lokale Installation - `scripts/package.ps1` baut `dist\Brogether-Brogether-0.1.0.zip`. +- Danach kopiert `scripts/package.ps1` denselben ZIP nach `releases\Brogether-Brogether-0.1.0.zip`. +- `dist/` bleibt ignoriert; `releases/` wird committed, damit Tester den neuesten ZIP direkt aus dem Repo laden koennen. - Das Skript nutzt .NET `ZipArchive`, weil PowerShell `Compress-Archive` Backslash-Pfade erzeugt hatte, die Godot/Brotato nicht sauber akzeptierte. - ZIP-Struktur im Archiv: diff --git a/README.md b/README.md index 3605128..f3cabc4 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,16 @@ scripts/ package.ps1 Builds the mod ZIP install-local.ps1 Installs the ZIP for local Brotato tests +releases/ + Brogether-Brogether-0.1.0.zip Latest committed mod ZIP for testers + docs/ setup.md Setup and test notes brotato-multiplayer-modding-research.md workshop-upload.md Step-by-step Steam Workshop upload guide ``` -`.tools/`, `recovered/`, and `dist/` are intentionally not committed. They contain local tools, recovered Brotato files, and built ZIPs. +`.tools/`, `recovered/`, and `dist/` are intentionally not committed. They contain local tools, recovered Brotato files, and local build output. The current shareable mod ZIP is committed under `releases/`. ## Local Test diff --git a/docs/workshop-upload.md b/docs/workshop-upload.md index e28dd3b..f6eadb1 100644 --- a/docs/workshop-upload.md +++ b/docs/workshop-upload.md @@ -21,6 +21,8 @@ After that, the ZIP is here: dist\Brogether-Brogether-0.1.0.zip ``` +The same ZIP is also copied to `releases\Brogether-Brogether-0.1.0.zip`. The `releases/` copy is committed to Git so testers can download the latest mod ZIP directly from the repository. + - Optional but recommended: a Workshop preview image as PNG or JPG. `512x512` and below `1 MB` is a good target. - For the first upload, you do not need a Workshop ID. Steam creates it. - For later updates, you need the Workshop ID from your Workshop item URL. @@ -83,7 +85,7 @@ The ID would be: ``` 2. Start `GodotWorkshopUtility.exe`. -3. Select `dist\Brogether-Brogether-0.1.0.zip` again. +3. Select `dist\Brogether-Brogether-0.1.0.zip` again. The committed copy in `releases/` is the same ZIP, but `dist/` is the local upload path used by the scripts. 4. Optionally select the same preview image. 5. This time, enter the existing Workshop ID. 6. Start the upload. diff --git a/releases/Brogether-Brogether-0.1.0.zip b/releases/Brogether-Brogether-0.1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..85aaecedbf15d1dedace61727eb19fb0bf1ef646 GIT binary patch literal 11466 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 literal 0 HcmV?d00001 diff --git a/releases/README.md b/releases/README.md new file mode 100644 index 0000000..f6690be --- /dev/null +++ b/releases/README.md @@ -0,0 +1,18 @@ +# Release Artifacts + +This folder intentionally stores the latest built Brogether mod ZIP in Git. + +Run this from the project root whenever the mod changes: + +```powershell +.\scripts\package.ps1 +``` + +The script creates both: + +```text +dist\Brogether-Brogether-0.1.0.zip +releases\Brogether-Brogether-0.1.0.zip +``` + +`dist/` stays local and ignored. `releases/` is committed so testers can download the current mod ZIP directly from the repository. diff --git a/scripts/package.ps1 b/scripts/package.ps1 index 0ef08be..76e6fee 100644 --- a/scripts/package.ps1 +++ b/scripts/package.ps1 @@ -9,16 +9,22 @@ Add-Type -AssemblyName System.IO.Compression.FileSystem $root = Split-Path -Parent $PSScriptRoot $source = Join-Path $root "src" $dist = Join-Path $root "dist" +$releases = Join-Path $root "releases" $zipPath = Join-Path $dist "Brogether-Brogether-$Version.zip" +$releaseZipPath = Join-Path $releases "Brogether-Brogether-$Version.zip" if (-not (Test-Path $source)) { throw "Missing source folder: $source" } New-Item -ItemType Directory -Force -Path $dist | Out-Null +New-Item -ItemType Directory -Force -Path $releases | Out-Null if (Test-Path $zipPath) { Remove-Item -LiteralPath $zipPath -Force } +if (Test-Path $releaseZipPath) { + Remove-Item -LiteralPath $releaseZipPath -Force +} $archive = [System.IO.Compression.ZipFile]::Open($zipPath, [System.IO.Compression.ZipArchiveMode]::Create) try { @@ -37,4 +43,6 @@ finally { $archive.Dispose() } +Copy-Item -LiteralPath $zipPath -Destination $releaseZipPath -Force Write-Host "Created $zipPath" +Write-Host "Updated release artifact $releaseZipPath"