Skip to content

Improve coverage, fix CLI KOReader passwords, and harden fork CI - #129

Open
canardleteer wants to merge 6 commits into
szaffarano:masterfrom
canardleteer:dev/canardleteer/coverage
Open

canardleteer wants to merge 6 commits into
szaffarano:masterfrom
canardleteer:dev/canardleteer/coverage

Conversation

@canardleteer

Copy link
Copy Markdown

Summary

  • Raise library test coverage above 80% by extracting CLI helpers from main, adding error/serialization unit tests, and covering graceful server shutdown (#17)
  • Fix CLI user create / user reset-password so the password is MD5-hashed the same way KOReader’s sync client does, then stored with Argon2 (CLI-created users with a plain password could not authenticate from KOReader)
  • Make init_logging idempotent via try_init so run_server can be invoked more than once in-process (e.g. tests)
  • Bump Rust deps and GitHub Actions from open Renovate updates (#5):
  • Gate release-plz, CD asset uploads, and Docker Hub publish on github.repository == 'szaffarano/korrosync' so forks do not publish
  • Add rust-toolchain.toml pinning stable with rustfmt, clippy, rust-src, rust-analyzer, and llvm-tools-preview

Test plan

  • CI green on this PR (test / fmt / clippy / machete / coverage)
  • On a fork: confirm release-plz, CD, and Docker publish jobs are skipped
  • cargo test and cargo clippy -- -D warnings locally
  • cargo machete reports no unused dependencies
  • rustup show / rustc --version pick up the repo rust-toolchain.toml
  • CLI: user create -u alice -p secret, then authenticate from KOReader (or with x-auth-key = MD5 of secret)
  • Existing plaintext CLI users need user reset-password once after this change

Extract CLI helpers from main for unit testing, cover error and
serialization paths, and make logging init idempotent so run_server
can be exercised more than once in-process.
KOReader sends md5(password) for registration and x-auth-key; CLI
user create/reset now apply the same preprocessing before Argon2.
…_test

Update open Renovate crate PRs to latest stable versions.
Skip release-plz, CD asset uploads, and Docker Hub pushes on forks
by gating those jobs on github.repository == szaffarano/korrosync.
Apply the open Renovate GitHub Actions upgrades to latest major versions.
Pin rustup to stable with rustfmt, clippy, rust-src, rust-analyzer,
and llvm-tools-preview so local and CI toolchains stay aligned.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant