Track latest mod zip artifact
This commit is contained in:
8
Brain.md
8
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:
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
BIN
releases/Brogether-Brogether-0.1.0.zip
Normal file
BIN
releases/Brogether-Brogether-0.1.0.zip
Normal file
Binary file not shown.
18
releases/README.md
Normal file
18
releases/README.md
Normal file
@@ -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.
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user