diff --git a/.github/README.md b/.github/README.md index c5cac63..3fb5ba7 100644 --- a/.github/README.md +++ b/.github/README.md @@ -137,6 +137,8 @@ The Style Editor (`ImGui.ShowStyleEditor()`) and the Metrics/Debugger (`ImGui.Sh ### Getting Started & Integration (Roblox) +With [Wally](https://wally.run): add `ImGui = "bug/imgui-luau@0.1.0"` under `[dependencies]` in your `wally.toml`, run `wally install`, then `require(ReplicatedStorage.Packages.ImGui)`. Or from source: + 1. Build the module: `python3 tools/bundle.py` writes `build/ImGui.luau` (`--no-demo` leaves the demo out). 2. Sync with [Rojo](https://rojo.space): [`default.project.json`](/default.project.json) puts the module in `ReplicatedStorage.ImGui` and the example LocalScript in `StarterPlayerScripts`. 3. A minimal LocalScript (full version: [examples/example_roblox/main.client.luau](/examples/example_roblox/main.client.luau)): diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6745e67..3f1cffa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -80,6 +80,20 @@ jobs: dist/*.zip generate_release_notes: true + - name: Publish to Wally (tag) + if: startsWith(github.ref, 'refs/tags/v') + env: + WALLY_TOKEN: ${{ secrets.WALLY_TOKEN }} + run: | + [ -n "$WALLY_TOKEN" ] || { echo "WALLY_TOKEN not set, skipping"; exit 0; } + grep -q "^version = \"${GITHUB_REF_NAME#v}\"" wally.toml || { echo "wally.toml version != tag"; exit 1; } + curl -fsSL -o wally.zip https://github.com/UpliftGames/wally/releases/download/v0.3.2/wally-v0.3.2-linux.zip + unzip -q wally.zip -d wallybin && chmod +x wallybin/wally + mkdir -p dist/wally/src && cp wally.toml dist/wally/ && cp dist/roblox/ImGui.luau dist/wally/src/init.luau + echo '{"name":"imgui-luau","tree":{"$path":"src"}}' > dist/wally/default.project.json + wallybin/wally login --token "$WALLY_TOKEN" + wallybin/wally publish --project-path dist/wally + - name: Release (latest) if: "!startsWith(github.ref, 'refs/tags/v')" env: diff --git a/README.md b/README.md index 3aea7fb..4e8773c 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,8 @@ The Style Editor (`ImGui.ShowStyleEditor()`) and the Metrics/Debugger (`ImGui.Sh ### Getting Started & Integration (Roblox) +With [Wally](https://wally.run): add `ImGui = "bug/imgui-luau@0.1.0"` under `[dependencies]` in your `wally.toml`, run `wally install`, then `require(ReplicatedStorage.Packages.ImGui)`. Or from source: + 1. Build the module: `python3 tools/bundle.py` writes `build/ImGui.luau` (`--no-demo` leaves the demo out). 2. Sync with [Rojo](https://rojo.space): [`default.project.json`](default.project.json) puts the module in `ReplicatedStorage.ImGui` and the example LocalScript in `StarterPlayerScripts`. 3. A minimal LocalScript (full version: [examples/example_roblox/main.client.luau](examples/example_roblox/main.client.luau)): diff --git a/wally.toml b/wally.toml new file mode 100644 index 0000000..00dfd0d --- /dev/null +++ b/wally.toml @@ -0,0 +1,10 @@ +[package] +name = "bug/imgui-luau" +version = "0.1.0" +registry = "https://github.com/UpliftGames/wally-index" +realm = "shared" +license = "MIT" +description = "Dear ImGui (docking branch) ported to Luau for Roblox" +repository = "https://github.com/4DBug/imgui-luau" + +[dependencies]