@@ -44,6 +44,14 @@ struct Flake8 {}
4444#[ template( path = ".cpa/prettier.json" , escape = "none" ) ]
4545struct Prettier { }
4646
47+ #[ derive( Template ) ]
48+ #[ template( path = ".github/workflows/ci.yaml" , escape = "none" ) ]
49+ struct GHWorkflowCI { }
50+
51+ // #[derive(Template)]
52+ // #[template(path = ".github/workflows/ci.yaml", escape = "none")]
53+ // struct GHWorkflowCI {}
54+
4755pub fn setup_preset ( mut preset : String , name : String , create : bool ) {
4856 if preset == "python" {
4957 preset = "python3.10" . to_string ( ) ;
@@ -54,40 +62,26 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
5462 }
5563
5664 let _ = fs:: create_dir_all ( format ! ( "{}/.cpa" , prefix) ) ;
65+
66+ // Render Github Actions CI
67+ let _ = fs:: create_dir_all ( format ! ( "{}/.github/workflows" , prefix) ) ;
68+ File :: create ( format ! ( "{}/.github/workflows/ci.yaml" , prefix) )
69+ . and_then ( |mut file| file. write_all ( GHWorkflowCI { } . render ( ) . expect ( "Failed to render ci.yaml" ) . as_bytes ( ) ) )
70+ . expect ( "Failed to create or write to ci.yaml" ) ;
71+
5772 // Render .gitignore
5873 File :: create ( format ! ( "{}/.gitignore" , prefix) )
59- . and_then ( |mut file| {
60- file. write_all (
61- GitIgnore { }
62- . render ( )
63- . expect ( "Failed to render .gitignore" )
64- . as_bytes ( ) ,
65- )
66- } )
74+ . and_then ( |mut file| file. write_all ( GitIgnore { } . render ( ) . expect ( "Failed to render .gitignore" ) . as_bytes ( ) ) )
6775 . expect ( "Failed to create or write to .gitignore" ) ;
6876
6977 // Render Makefile
7078 File :: create ( format ! ( "{}/Makefile" , prefix) )
71- . and_then ( |mut file| {
72- file. write_all (
73- Makefile { }
74- . render ( )
75- . expect ( "Failed to render Makefile" )
76- . as_bytes ( ) ,
77- )
78- } )
79+ . and_then ( |mut file| file. write_all ( Makefile { } . render ( ) . expect ( "Failed to render Makefile" ) . as_bytes ( ) ) )
7980 . expect ( "Failed to create or write to Makefile" ) ;
8081
8182 // Render Dockerfile
8283 File :: create ( format ! ( "{}/Dockerfile" , prefix) )
83- . and_then ( |mut file| {
84- file. write_all (
85- Dockerfile { }
86- . render ( )
87- . expect ( "Failed to render Dockerfile" )
88- . as_bytes ( ) ,
89- )
90- } )
84+ . and_then ( |mut file| file. write_all ( Dockerfile { } . render ( ) . expect ( "Failed to render Dockerfile" ) . as_bytes ( ) ) )
9185 . expect ( "Failed to create or write to Dockerfile" ) ;
9286
9387 // Render main.py
@@ -101,34 +95,20 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
10195 file. write_all (
10296 PreCommitConfig { python : true }
10397 . render ( )
104- . expect ( "Failed to render .pre-commit-config.yaml " )
98+ . expect ( "Failed to render .pre-commit-config.yam " )
10599 . as_bytes ( ) ,
106100 )
107101 } )
108102 . expect ( "Failed to create or write to .pre-commit-config.yaml" ) ;
109103
110104 // Render Flake8 conf
111105 File :: create ( format ! ( "{}/.cpa/flake8.cfg" , prefix) )
112- . and_then ( |mut file| {
113- file. write_all (
114- Flake8 { }
115- . render ( )
116- . expect ( "Failed to render flake8.cfg" )
117- . as_bytes ( ) ,
118- )
119- } )
106+ . and_then ( |mut file| file. write_all ( Flake8 { } . render ( ) . expect ( "Failed to render flake8.cfg" ) . as_bytes ( ) ) )
120107 . expect ( "Failed to create or write to flake8.cfg" ) ;
121108
122109 // Render Prettier conf
123110 File :: create ( format ! ( "{}/.cpa/prettier.json" , prefix) )
124- . and_then ( |mut file| {
125- file. write_all (
126- Prettier { }
127- . render ( )
128- . expect ( "Failed to render prettier.json" )
129- . as_bytes ( ) ,
130- )
131- } )
111+ . and_then ( |mut file| file. write_all ( Prettier { } . render ( ) . expect ( "Failed to render prettier.json" ) . as_bytes ( ) ) )
132112 . expect ( "Failed to create or write to prettier.json" ) ;
133113
134114 // Render Poetry conf
@@ -147,8 +127,7 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
147127 black_target_ver,
148128 } ;
149129 let out_pyproj: String = pyproj. render ( ) . expect ( "Failed to render" ) ;
150- let mut f_pyproj =
151- File :: create ( format ! ( "{}/pyproject.toml" , prefix) ) . expect ( "Could not create file" ) ;
130+ let mut f_pyproj = File :: create ( format ! ( "{}/pyproject.toml" , prefix) ) . expect ( "Could not create file" ) ;
152131 f_pyproj
153132 . write_all ( out_pyproj. as_bytes ( ) )
154133 . expect ( "Could not write to file" ) ;
0 commit comments