Limit v0.0.2 release to Linux and Windows
This commit is contained in:
@@ -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
|
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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,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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user