File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # cargo-audit configuration
2+ # Ignore advisories for transitive dependencies we can't control
3+
4+ [advisories ]
5+ ignore = [
6+ # rsa: Marvin timing attack (RUSTSEC-2023-0071)
7+ # Transitive via russh-keys -> ssh-key -> rsa
8+ # Only used for RSA key parsing in SSH; no direct exposure
9+ " RUSTSEC-2023-0071" ,
10+ ]
Original file line number Diff line number Diff line change 5656 uses : rustsec/audit-check@v2.0.0
5757 with :
5858 token : ${{ secrets.GITHUB_TOKEN }}
59+ ignore : RUSTSEC-2023-0071
5960
6061 - name : License check (cargo-deny)
6162 uses : EmbarkStudios/cargo-deny-action@v2
@@ -122,11 +123,16 @@ jobs:
122123 cargo run --example realfs_readonly --features realfs
123124 cargo run --example realfs_readwrite --features realfs
124125
125- - name : Run ssh supabase.sh example
126- run : cargo run --example ssh_supabase --features ssh
126+ # SSH integration tests (non-ignored run without network)
127+ - name : Run ssh builtin tests (mock handler)
128+ run : cargo test --features ssh -p bashkit --test ssh_builtin_tests
127129
128- - name : Run ssh supabase.sh integration tests
129- run : cargo test --features ssh -p bashkit --test ssh_supabase_tests
130+ # Real SSH connection — depends on external service, don't block CI
131+ - name : Run ssh supabase.sh (real connection)
132+ continue-on-error : true
133+ run : |
134+ cargo run --example ssh_supabase --features ssh
135+ cargo test --features ssh -p bashkit --test ssh_supabase_tests -- --ignored
130136
131137 - name : Run realfs bash example
132138 run : |
Original file line number Diff line number Diff line change 11//! Integration tests for `ssh supabase.sh`.
22//!
3- //! Requires `ssh` feature. No credentials needed — supabase.sh is a public SSH service.
3+ //! Requires `ssh` feature and network access to supabase.sh.
4+ //! These tests are `#[ignore]` by default — run with `--ignored` flag.
45
56#[ cfg( feature = "ssh" ) ]
67mod ssh_supabase {
@@ -12,14 +13,22 @@ mod ssh_supabase {
1213 . build ( )
1314 }
1415
16+ /// Connects to supabase.sh via SSH. Requires network access.
1517 #[ tokio:: test]
18+ #[ ignore] // Requires network — run with: cargo test --features ssh --test ssh_supabase_tests -- --ignored
1619 async fn ssh_supabase_connects ( ) {
1720 let mut bash = bash_with_supabase ( ) ;
1821 let result = bash. exec ( "ssh supabase.sh" ) . await . unwrap ( ) ;
19- // supabase.sh returns output (TUI greeting or welcome message)
22+ eprintln ! (
23+ "ssh supabase.sh: exit={} stdout_len={} stderr_len={}" ,
24+ result. exit_code,
25+ result. stdout. len( ) ,
26+ result. stderr. len( )
27+ ) ;
28+ // We got a response (greeting, TUI, or auth message)
2029 assert ! (
2130 !result. stdout. is_empty( ) || !result. stderr. is_empty( ) ,
22- "expected output from ssh supabase.sh, got nothing "
31+ "expected output from ssh supabase.sh"
2332 ) ;
2433 }
2534
You can’t perform that action at this time.
0 commit comments