Skip to content

Commit dab84f9

Browse files
feat: native SSH command execution with async-ssh2-tokio (#250)
* feat: implement remote commands execution via ssh * wip * feat: execute SSH commands and stream output directly * style: fix md format * style: apply automated fixes * fix: pass quiet flag to connect to suppress spinner * refactor: load config only once * chore: add .gitattributes * test: add e2e test using ssh server * test: add tests * chore: remove biwa.toml * refactor: remove duplicate test and update spinner * refactor: extract spinner into crate-level ui module * refactor(ssh): split execute_command into build_command + run_command, DRY stream writing * chore: remove biwa.toml * chore: remove test file * chore(.gitattributes): fix dir * style: autofix clippy * style: apply automated fixes * chore(clippy): disable multiple_crate_versions * refactor: fix clippy warnings * refactor: fix clippy warnings * style: apply automated fixes * refactor: replace ENV_MUTEX with serial_test for env-mutating tests * chore(deny): makee config strict * fix: rename connect() parameter silent -> quiet for spinner suppression * chore: lower visibility of cli subcommands and create_spinner * refactor: replace unnecessary pub(crate) and pub with private/pub(super) * refactor: remove missed pub declarations on internal methods * feat: support encrypted ssh keys --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent b59c23b commit dab84f9

38 files changed

Lines changed: 3016 additions & 208 deletions

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
* text=auto
2+
biwa.usage.kdl linguist-generated
3+
schema/config.json linguist-generated
4+
docs/src/cli/** linguist-generated

.github/workflows/ci.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ jobs:
2626
contents: read # for checkout
2727
id-token: write # for codecov
2828

29+
services:
30+
ssh-server:
31+
image: lscr.io/linuxserver/openssh-server@sha256:fdd9783e0fa4c52592c8405765c5de04dcf657db1b4d6ab073c14c4b998ca1fa
32+
ports:
33+
- 2222:2222
34+
env:
35+
USER_NAME: testuser
36+
USER_PASSWORD: password123
37+
PASSWORD_ACCESS: "true"
38+
2939
steps:
3040
- name: Checkout
3141
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

0 commit comments

Comments
 (0)