@@ -44,6 +44,10 @@ 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+
4751pub fn setup_preset ( mut preset : String , name : String , create : bool ) {
4852 if preset == "python" {
4953 preset = "python3.10" . to_string ( ) ;
@@ -54,40 +58,26 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
5458 }
5559
5660 let _ = fs:: create_dir_all ( format ! ( "{}/.cpa" , prefix) ) ;
61+
62+ // Render Github Actions CI
63+ let _ = fs:: create_dir_all ( format ! ( "{}/.github/workflows" , prefix) ) ;
64+ File :: create ( format ! ( "{}/.github/workflows/ci.yaml" , prefix) )
65+ . and_then ( |mut file| file. write_all ( GHWorkflowCI { } . render ( ) . expect ( "Failed to render ci.yaml" ) . as_bytes ( ) ) )
66+ . expect ( "Failed to create or write to ci.yaml" ) ;
67+
5768 // Render .gitignore
5869 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- } )
70+ . and_then ( |mut file| file. write_all ( GitIgnore { } . render ( ) . expect ( "Failed to render .gitignore" ) . as_bytes ( ) ) )
6771 . expect ( "Failed to create or write to .gitignore" ) ;
6872
6973 // Render Makefile
7074 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- } )
75+ . and_then ( |mut file| file. write_all ( Makefile { } . render ( ) . expect ( "Failed to render Makefile" ) . as_bytes ( ) ) )
7976 . expect ( "Failed to create or write to Makefile" ) ;
8077
8178 // Render Dockerfile
8279 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- } )
80+ . and_then ( |mut file| file. write_all ( Dockerfile { } . render ( ) . expect ( "Failed to render Dockerfile" ) . as_bytes ( ) ) )
9181 . expect ( "Failed to create or write to Dockerfile" ) ;
9282
9383 // Render main.py
@@ -109,26 +99,12 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
10999
110100 // Render Flake8 conf
111101 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- } )
102+ . and_then ( |mut file| file. write_all ( Flake8 { } . render ( ) . expect ( "Failed to render flake8.cfg" ) . as_bytes ( ) ) )
120103 . expect ( "Failed to create or write to flake8.cfg" ) ;
121104
122105 // Render Prettier conf
123106 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- } )
107+ . and_then ( |mut file| file. write_all ( Prettier { } . render ( ) . expect ( "Failed to render prettier.json" ) . as_bytes ( ) ) )
132108 . expect ( "Failed to create or write to prettier.json" ) ;
133109
134110 // Render Poetry conf
@@ -147,8 +123,7 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
147123 black_target_ver,
148124 } ;
149125 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" ) ;
126+ let mut f_pyproj = File :: create ( format ! ( "{}/pyproject.toml" , prefix) ) . expect ( "Could not create file" ) ;
152127 f_pyproj
153128 . write_all ( out_pyproj. as_bytes ( ) )
154129 . expect ( "Could not write to file" ) ;
0 commit comments