ci: migrate project automation to Just (#442)
Deploy docs to GitHub Pages / deploy (push) Has been cancelled
Site / build-site (push) Has been cancelled
Install.sh / build (macos-latest) (push) Has been cancelled
Install.sh / build (ubuntu-latest) (push) Has been cancelled
CI / toolchain (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / install-scripts (push) Has been cancelled
CI / crates-ubuntu-latest (push) Has been cancelled
CI / crates-windows-latest (push) Has been cancelled
CI / doc (push) Has been cancelled
CI / deny (push) Has been cancelled
CI / crates-macos-latest (push) Has been cancelled

* ci: migrate project automation to Just

Centralize build, test, release, dependency, hook, and website commands in Just recipes. Pin workflow tooling, use the repository toolchain, and run the complete validation set in CI.

* ci: codex being codex

* docs: update CLAUDE.md for just task runner migration

Reflect the switch to just recipes for build/test/clippy/fmt, note
dprint replacing raw rustfmt, and add a cross-platform code requirement.

* fix: resolve clippy warnings breaking CI on ubuntu and windows

Use clone() instead of implicit to_string() on already-owned String
values, gate the windows-only unused make_file_at import behind
cfg(posix), and fix unused mut / manual assign-op in the windows-only
localhost test.

* fix: fmt
This commit is contained in:
Christian Visintin
2026-08-28 19:29:58 +02:00
committed by GitHub
parent 08c51a32cc
commit afbc74113f
54 changed files with 889 additions and 404 deletions
+2 -1
View File
@@ -68,7 +68,8 @@ impl Update {
}
/// Returns whether a new version of termscp is available
/// In case of success returns Ok(Option<Release>), where the Option is Some(new_version);
/// In case of success returns `Ok(Option<Release>)`, where the option is
/// `Some(new_version)`;
/// otherwise if no version is available, return None
/// In case of error returns Error with the error description
pub fn is_new_version_available() -> Result<Option<Release>, UpdateError> {
+3 -3
View File
@@ -767,7 +767,7 @@ mod tests {
// Limit is 2
assert_eq!(client.iter_recents().count(), 2);
// Check that 192.168.1.1 has been removed
let key: String = client.iter_recents().next().unwrap().to_string();
let key: String = client.iter_recents().next().unwrap().clone();
assert!(matches!(
client
.hosts
@@ -781,7 +781,7 @@ mod tests {
.as_str(),
"192.168.1.2" | "192.168.1.3"
));
let key: String = client.iter_recents().nth(1).unwrap().to_string();
let key: String = client.iter_recents().nth(1).unwrap().clone();
assert!(matches!(
client
.hosts
@@ -938,7 +938,7 @@ mod tests {
let protocol = params.protocol;
let p = params.params.generic_params().unwrap();
(
p.address.to_string(),
p.address.clone(),
p.port,
protocol,
p.username.as_ref().cloned().unwrap_or_default(),
+2 -2
View File
@@ -595,7 +595,7 @@ mod tests {
client.set_local_file_fmt(String::from("{NAME}"));
assert_eq!(client.get_local_file_fmt().unwrap(), String::from("{NAME}"));
// Delete
client.set_local_file_fmt(String::from(""));
client.set_local_file_fmt(String::new());
assert_eq!(client.get_local_file_fmt(), None);
}
@@ -613,7 +613,7 @@ mod tests {
String::from("{NAME}")
);
// Delete
client.set_remote_file_fmt(String::from(""));
client.set_remote_file_fmt(String::new());
assert_eq!(client.get_remote_file_fmt(), None);
}
+1
View File
@@ -207,6 +207,7 @@ mod tests {
let mut f: File = OpenOptions::new()
.create(true)
.write(true)
.truncate(true)
.open(conf_dir.as_path())
.ok()
.unwrap();
+2 -2
View File
@@ -294,7 +294,7 @@ mod test {
);
// unwatch
assert!(watcher.unwatch(tempdir.path()).is_ok());
assert!(watcher.paths.get(tempdir.path()).is_none());
assert!(!watcher.paths.contains_key(tempdir.path()));
// close tempdir
assert!(tempdir.close().is_ok());
}
@@ -315,7 +315,7 @@ mod test {
watcher.unwatch(subdir.as_path()).unwrap().as_path(),
Path::new(tempdir.path())
);
assert!(watcher.paths.get(tempdir.path()).is_none());
assert!(!watcher.paths.contains_key(tempdir.path()));
// close tempdir
assert!(tempdir.close().is_ok());
}