Limit v0.0.2 release to Linux and Windows
CI / macos-latest (push) Has been cancelled
CI / ubuntu-latest (push) Has been cancelled
CI / windows-latest (push) Has been cancelled

This commit is contained in:
pleb
2026-07-21 10:34:28 -07:00
parent 266483f3cf
commit 290d0674b1
6 changed files with 7 additions and 26 deletions
-5
View File
@@ -19,8 +19,3 @@ jobs:
- run: cargo clippy --all-targets -- -D warnings - run: cargo clippy --all-targets -- -D warnings
- run: cargo test - run: cargo test
- run: cargo build --release - run: cargo build --release
- uses: actions/upload-artifact@v4
with:
name: mudmouth-${{ matrix.os }}
path: target/release/mudmouth*
if-no-files-found: error
-3
View File
@@ -35,9 +35,6 @@ speaker mappings, generated audio, and TTS endpoint stay on your computer.
## Requirements ## Requirements
- Rust stable (edition 2024)
- A terminal with ANSI support: Windows Terminal, iTerm2, Terminal.app, GNOME
Terminal, and similar terminals work well.
- A reachable [Kokoro-FastAPI](docs/kokoro-fastapi.json) instance. Install and - A reachable [Kokoro-FastAPI](docs/kokoro-fastapi.json) instance. Install and
run it using the upstream [Kokoro-FastAPI instructions](https://github.com/remsky/Kokoro-FastAPI); run it using the upstream [Kokoro-FastAPI instructions](https://github.com/remsky/Kokoro-FastAPI);
Mudmouth uses `http://127.0.0.1:8880` by default. Mudmouth uses `http://127.0.0.1:8880` by default.
+2 -7
View File
@@ -45,19 +45,14 @@ cargo run --release -- --kokoro-url http://127.0.0.1:8880
## Release builds ## Release builds
Build Linux and Windows from an x86_64 Linux builder with `release.nix`. Build Build Linux and Windows binaries locally with `release.nix`, then package them
macOS on a native x86_64 macOS runner, where Apple's SDK is available. The CI with:
workflow performs these native builds on every push and retains their binaries
as build artifacts. Package the three binaries with:
```bash ```bash
nix-build release.nix -A linux -o result-linux nix-build release.nix -A linux -o result-linux
nix-build release.nix -A windows -o result-windows nix-build release.nix -A windows -o result-windows
# On x86_64 macOS:
nix-build release.nix -A macos -o result-macos
./scripts/package-release.sh \ ./scripts/package-release.sh \
--linux result-linux/bin/mudmouth \ --linux result-linux/bin/mudmouth \
--macos result-macos/bin/mudmouth \
--windows result-windows/bin/mudmouth.exe --windows result-windows/bin/mudmouth.exe
``` ```
-1
View File
@@ -15,6 +15,5 @@ let
}; };
in { in {
linux = buildMudmouth pkgs; linux = buildMudmouth pkgs;
macos = buildMudmouth pkgs.pkgsCross.x86_64-darwin;
windows = buildMudmouth pkgs.pkgsCross.mingwW64; windows = buildMudmouth pkgs.pkgsCross.mingwW64;
} }
+2 -7
View File
@@ -2,27 +2,24 @@
set -euo pipefail set -euo pipefail
usage() { usage() {
echo "Usage: $0 --linux PATH --macos PATH --windows PATH" >&2 echo "Usage: $0 --linux PATH --windows PATH" >&2
exit 2 exit 2
} }
linux_binary= linux_binary=
macos_binary=
windows_binary= windows_binary=
while (($#)); do while (($#)); do
case "$1" in case "$1" in
--linux) linux_binary=${2:-}; shift 2 ;; --linux) linux_binary=${2:-}; shift 2 ;;
--macos) macos_binary=${2:-}; shift 2 ;;
--windows) windows_binary=${2:-}; shift 2 ;; --windows) windows_binary=${2:-}; shift 2 ;;
*) usage ;; *) usage ;;
esac esac
done done
[[ -n "$linux_binary" && -f "$linux_binary" ]] || usage [[ -n "$linux_binary" && -f "$linux_binary" ]] || usage
[[ -n "$macos_binary" && -f "$macos_binary" ]] || usage
[[ -n "$windows_binary" && -f "$windows_binary" ]] || usage [[ -n "$windows_binary" && -f "$windows_binary" ]] || usage
version=$(sed -n 's/^version = "\\([^"]*\\)"/\\1/p' Cargo.toml | head -n 1) version=$(awk -F '"' '$1 ~ /^version = / { print $2; exit }' Cargo.toml)
[[ -n "$version" ]] || { echo "Could not read the package version." >&2; exit 1; } [[ -n "$version" ]] || { echo "Could not read the package version." >&2; exit 1; }
dist=dist dist=dist
@@ -43,8 +40,6 @@ package_tarball() {
} }
package_tarball x86_64-unknown-linux-gnu "$linux_binary" package_tarball x86_64-unknown-linux-gnu "$linux_binary"
package_tarball x86_64-apple-darwin "$macos_binary"
windows_root="mudmouth-v${version}-x86_64-pc-windows-gnu" windows_root="mudmouth-v${version}-x86_64-pc-windows-gnu"
mkdir -p "$stage/$windows_root" mkdir -p "$stage/$windows_root"
cp "$windows_binary" "$stage/$windows_root/mudmouth.exe" cp "$windows_binary" "$stage/$windows_root/mudmouth.exe"
+3 -3
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
version=$(sed -n 's/^version = "\\([^"]*\\)"/\\1/p' Cargo.toml | head -n 1) version=$(awk -F '"' '$1 ~ /^version = / { print $2; exit }' Cargo.toml)
tag="v${version}" tag="v${version}"
dist=dist dist=dist
checksums="$dist/SHA256SUMS.txt" checksums="$dist/SHA256SUMS.txt"
@@ -13,8 +13,8 @@ trap 'rm -f "$notes"' EXIT
cat > "$notes" <<EOF cat > "$notes" <<EOF
## Pre-release ## Pre-release
First multi-platform pre-release of Mudmouth. It includes first-run EverQuest First Linux and Windows pre-release of Mudmouth. It includes first-run
log discovery, setup, and the refreshed development documentation. EverQuest log discovery, setup, and refreshed development documentation.
## SHA-256 ## SHA-256