4 Commits
v0.8.0 ... main

Author SHA1 Message Date
485dc07288 Merge pull request 'ci(pr-checks): cache cargo with rust-cache so the cache stops growing' (#44) from chore/ci-self-cleanup into main
All checks were successful
sync-project-tree / sync (push) Successful in 11s
Release installer / release (push) Successful in 39s
Compose bundle / compose (push) Successful in 29s
Reviewed-on: #44
Reviewed-by: Colby Whitlock <whitlocktech@gmail.com>
2026-11-04 12:10:27 +00:00
52b0c53846 ci(pr-checks): cache cargo with rust-cache so the cache stops growing
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 4m2s
actions/cache restored the previous target/ through restore-keys and
re-saved all of it under every new Cargo.lock hash, so each entry carried
every older build and the runner's cache grew without bound.
Swatinem/rust-cache strips the crate's own and stale artifacts before
saving and saves only on a miss.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-11-02 11:20:57 -06:00
736ca0c4c2 Merge pull request 'fix(cli): game-neutral --help for --game and --site-url' (#43) from fix/help-neutral-wording into main
All checks were successful
sync-project-tree / sync (push) Successful in 9s
Release installer / release (push) Successful in 9m12s
Compose bundle / compose (push) Successful in 38s
Reviewed-on: #43
Reviewed-by: Colby Whitlock <whitlocktech@gmail.com>
2026-10-22 19:47:36 +00:00
6366a44bc4 fix(cli): game-neutral --help for --game and --site-url
All checks were successful
PR Checks / rust-gates (pull_request) Successful in 1m50s
`--help` describes options that apply to both games, but it used Ultima
Online's words for them:

- `--game` read "Which game's shard side". It now reads "Which game this
  run sets up".
- `--site-url` named "Admin → Shard (uo-link)", which is the ServUO page.
  A Rust run links /admin/rust/servers. It now says the link is to the
  admin page the run prints at the end.
- The opening line said "a ServUO shard", and the closing line said "your
  shard". They now say "a ServUO server" and "your game server".

The per-game hand-off blocks are unchanged. The ServUO hand-off still names
Admin → Shard, because that is that page's real label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
2026-10-22 14:43:38 -05:00
2 changed files with 16 additions and 18 deletions

View File

@@ -89,19 +89,16 @@ jobs:
rustup component add rustfmt clippy rustup component add rustfmt clippy
cargo --version && cargo fmt --version && cargo clippy --version cargo --version && cargo fmt --version && cargo clippy --version
# Keyed on Cargo.lock: dependency builds are reused until a dep actually # Dependency builds are reused until a dep actually changes; a cache miss
# changes. A cache miss only makes the run slower, never wrong. # only makes the run slower, never wrong. rust-cache rather than a plain
- name: Cache cargo registry and build dir # actions/cache of target/: it strips this crate's own artifacts and
# anything stale before saving, and saves only on a miss. The plain cache
# restored the previous target/ and re-saved all of it under every new
# Cargo.lock, so each entry carried every older build and the runner's
# cache grew without bound.
- name: Cache cargo registry and dependency builds
if: ${{ steps.detect.outputs.crate == 'true' }} if: ${{ steps.detect.outputs.crate == 'true' }}
uses: actions/cache@v4 uses: Swatinem/rust-cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
# Cheapest gate first — parses only, no compile, so a formatting slip # Cheapest gate first — parses only, no compile, so a formatting slip
# fails in seconds instead of after a full build. # fails in seconds instead of after a full build.

View File

@@ -56,7 +56,7 @@ pub enum PatchChoice {
No, No,
} }
/// Which game's shard side this run is about (docs/modules/rust/PLAN.md §34.2.3). ServUO is the /// Which game this run sets up (docs/modules/rust/PLAN.md §34.2.3). ServUO is the
/// default, so every command line written before Rust existed means exactly what it meant. /// default, so every command line written before Rust existed means exactly what it meant.
#[derive(Debug, Clone, Copy, PartialEq, Eq)] #[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Game { pub enum Game {
@@ -94,7 +94,8 @@ pub struct Cli {
pub patches_unsupported_servuo: bool, pub patches_unsupported_servuo: bool,
/// `--host <name>`: the hostname to print in the website URLs. /// `--host <name>`: the hostname to print in the website URLs.
pub host: Option<String>, pub host: Option<String>,
/// `--site-url <url>`: the site's base URL, for the Admin → Shard (uo-link) link. /// `--site-url <url>`: the site's base URL, printed as a link to the admin page that takes
/// the values.
pub site_url: Option<String>, pub site_url: Option<String>,
/// `--yes`: assume the default answer to every prompt. /// `--yes`: assume the default answer to every prompt.
pub assume_yes: bool, pub assume_yes: bool,
@@ -128,7 +129,7 @@ impl Default for Cli {
} }
pub const USAGE: &str = "\ pub const USAGE: &str = "\
Runic Gateway installer — connects a ServUO shard, or Rust servers, to a Runic Runic Gateway installer — connects a ServUO server, or Rust servers, to a Runic
Gateway website. Gateway website.
Usage: runicgateway-installer <COMMAND> [OPTIONS] Usage: runicgateway-installer <COMMAND> [OPTIONS]
@@ -144,7 +145,7 @@ Commands:
removes only its own plugin file and keeps the plugin config. removes only its own plugin file and keeps the plugin config.
Options: Options:
--game <servuo|rust> Which game's shard side. Default servuo. --game <servuo|rust> Which game this run sets up. Default servuo.
--verify install, update. Dry run: report every --verify install, update. Dry run: report every
change that would be made, write nothing. change that would be made, write nothing.
--servuo <PATH> install, doctor, update. The ServUO root, --servuo <PATH> install, doctor, update. The ServUO root,
@@ -161,7 +162,7 @@ Options:
--host <NAME> install. The hostname to print in the --host <NAME> install. The hostname to print in the
website URLs. website URLs.
--site-url <URL> install. Your site's base URL, for the --site-url <URL> install. Your site's base URL, for the
Admin → Shard (uo-link) link. admin page link it prints at the end.
--yes Assume the default answer to every prompt. --yes Assume the default answer to every prompt.
On uninstall it means yes: that prompt On uninstall it means yes: that prompt
defaults to no, and typing `uninstall defaults to no, and typing `uninstall
@@ -194,7 +195,7 @@ Environment:
set it. set it.
The installer never contacts your website, never deletes anything from your The installer never contacts your website, never deletes anything from your
ServUO tree, and never starts or stops your shard. ServUO tree, and never starts or stops your game server.
"; ";
/// Parses arguments **without** the program name. /// Parses arguments **without** the program name.