1
+ use crate :: bindings:: GithubTarget ;
1
2
use crate :: {
2
- GithubError , bindings,
3
- bindings:: { Guest , export} ,
4
- } ;
5
- use std:: {
6
- path:: { Path , PathBuf } ,
3
+ bindings, bindings:: { export, Guest } ,
4
+ GithubError ,
7
5
} ;
8
- use std:: env :: VarError ;
9
- use crate :: bindings :: GithubTarget ;
6
+ use std:: collections :: HashMap ;
7
+ use std :: path :: Path ;
10
8
11
9
pub struct RunningContext { }
12
10
13
11
impl Guest for RunningContext {
14
12
fn run_with_config ( config : String , target : GithubTarget ) -> Result < ( ) , GithubError > {
15
13
match std:: env:: var ( "INPUT_CONFIG" ) {
16
14
Ok ( o) => { o}
17
- Err ( _) => {
18
- println ! ( "MissingConfig {}" )
15
+ Err ( e) => {
16
+ println ! ( "MissingConfig {}" , e) ;
17
+ return Ok ( ( ) )
19
18
}
20
19
}
21
20
@@ -30,17 +29,41 @@ impl RunningContext {
30
29
async fn run ( & self , config : String ) -> Result < ( ) , GithubError > {
31
30
match std:: env:: var ( "GITHUB_WORKSPACE" ) {
32
31
Ok ( s) => {
33
- let config = PathBuf :: from ( s) . join ( & config) ;
34
- let txt = std:: fs:: read_to_string ( config) ;
35
- println ! ( "Config: {:?}" , txt)
32
+ println ! ( "GITHUB_WORKSPACE" ) ;
33
+ read_dir ( & s)
34
+ }
35
+ Err ( e) => {
36
+ println ! ( "{}" , e)
37
+ }
38
+ }
39
+ match std:: env:: var ( "RUNNER_WORKSPACE" ) {
40
+ Ok ( s) => {
41
+ println ! ( "RUNNER_WORKSPACE" ) ;
42
+ read_dir ( & s)
36
43
}
37
44
Err ( e) => {
38
45
println ! ( "{}" , e)
39
46
}
40
47
}
41
- println ! ( "Env: {:#?}" , std:: env:: vars( ) ) ;
48
+ let mut envs = HashMap :: new ( ) ;
49
+ for ( key, value) in std:: env:: vars ( ) {
50
+ envs. insert ( key, value) ;
51
+ }
52
+ println ! ( "Env: {:#?}" , envs) ;
42
53
Ok ( ( ) )
43
54
}
44
55
}
45
-
56
+ fn read_dir ( dir_path : & str ) {
57
+ let path = Path :: new ( dir_path) ;
58
+ if let Ok ( dir_entries) = std:: fs:: read_dir ( path) {
59
+ for entry in dir_entries {
60
+ if let Ok ( entry) = entry {
61
+ let file_name = entry. file_name ( ) ;
62
+ println ! ( "{}" , file_name. to_string_lossy( ) ) ;
63
+ }
64
+ }
65
+ } else {
66
+ println ! ( "Error reading directory: {}" , dir_path) ;
67
+ }
68
+ }
46
69
export ! ( RunningContext with_types_in bindings) ;
0 commit comments