@@ -35,17 +35,17 @@ jobs:
3535 uses : github/codeql-action/analyze@v2
3636
3737 - name : run fastfetch
38- run : ./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
38+ run : time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
3939
4040 - name : run flashfetch
41- run : ./flashfetch
41+ run : time ./flashfetch
4242
4343 - name : run tests
4444 run : ctest
4545
4646 - name : get fastfetch version
4747 id : ffversion
48- run : echo "::set-output name= ffversion:: $(./fastfetch --version-raw)"
48+ run : echo "ffversion= $(./fastfetch --version-raw)" >> $GITHUB_OUTPUT
4949
5050 - name : upload artifacts
5151 uses : actions/upload-artifact@v3
6464 uses : actions/checkout@v3
6565
6666 - name : install required packages
67- run : brew install vulkan-loader molten-vk
67+ run : brew install vulkan-loader molten-vk imagemagick chafa
6868
6969 - name : Initialize CodeQL
7070 uses : github/codeql-action/init@v2
@@ -81,10 +81,10 @@ jobs:
8181 uses : github/codeql-action/analyze@v2
8282
8383 - name : run fastfetch
84- run : ./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
84+ run : time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
8585
8686 - name : run flashfetch
87- run : ./flashfetch
87+ run : time ./flashfetch
8888
8989 - name : run tests
9090 run : ctest
9595 name : fastfetch-macos
9696 path : ./fastfetch-*.*
9797
98- bsd :
99- name : BSD
98+ freebsd :
99+ name : FreeBSD
100100 runs-on : macos-12
101101 permissions :
102102 security-events : write
@@ -113,24 +113,173 @@ jobs:
113113 run : |
114114 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
115115 cmake --build . --target package
116- ./fastfetch --recache --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
117- ./flashfetch
116+ time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
117+ time ./flashfetch
118118 ctest
119119
120120 - name : upload artifacts
121121 uses : actions/upload-artifact@v3
122122 with :
123- name : fastfetch-bsd
123+ name : fastfetch-freebsd
124124 path : ./fastfetch-*.*
125125
126+ windows :
127+ name : Windows
128+ runs-on : windows-latest
129+ permissions :
130+ security-events : write
131+ contents : read
132+ defaults :
133+ run :
134+ shell : msys2 {0}
135+ steps :
136+ - name : checkout repository
137+ uses : actions/checkout@v3
138+
139+ - name : setup-msys2
140+ uses : msys2/setup-msys2@v2
141+ with :
142+ msystem : CLANG64
143+ update : true
144+ install : git mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-cjson mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-opencl-icd
145+
146+ - name : print msys version
147+ run : uname -a
148+
149+ # https://github.com/msys2/MINGW-packages/issues/13524#event-7555720785
150+ - name : create OpenCL.pc
151+ run : |
152+ cat > /clang64/lib/pkgconfig/OpenCL.pc << EOF
153+ prefix=/clang64
154+ exec_prefix=${prefix}
155+ libdir=${exec_prefix}/lib
156+ includedir=${prefix}/include
157+
158+ Name: OpenCL
159+ Description: Open Computing Language generic Installable Client Driver Loader
160+ Version: 2022.09.30-1
161+ Libs: -L${libdir} -lOpenCL.dll
162+ Cflags: -I${includedir}
163+ EOF
164+
165+ - name : Initialize CodeQL
166+ uses : github/codeql-action/init@v2
167+ with :
168+ languages : c, cpp
169+
170+ - name : configure project
171+ run : env PKG_CONFIG_PATH=/clang64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .
172+
173+ - name : build project
174+ run : cmake --build .
175+
176+ - name : perform CodeQL analysis
177+ uses : github/codeql-action/analyze@v2
178+
179+ - name : copy necessary dlls
180+ run : cp /clang64/bin/{libcjson,libOpenCL,vulkan-1}.dll .
181+
182+ - name : run fastfetch
183+ run : time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
184+
185+ - name : run flashfetch
186+ run : time ./flashfetch
187+
188+ - name : run tests
189+ run : ctest
190+
191+ - name : upload artifacts
192+ uses : actions/upload-artifact@v3
193+ with :
194+ name : fastfetch-windows
195+ path : |
196+ ./*.dll
197+ ./fastfetch.exe
198+ ./flashfetch.exe
199+
200+ windows-old :
201+ name : Windows-old
202+ runs-on : windows-latest
203+ permissions :
204+ security-events : write
205+ contents : read
206+ defaults :
207+ run :
208+ shell : msys2 {0}
209+ steps :
210+ - name : checkout repository
211+ uses : actions/checkout@v3
212+
213+ - name : setup-msys2
214+ uses : msys2/setup-msys2@v2
215+ with :
216+ msystem : MINGW64
217+ update : true
218+ install : git mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-cjson mingw-w64-x86_64-vulkan-loader mingw-w64-x86_64-opencl-icd
219+
220+ - name : print msys version
221+ run : uname -a
222+
223+ # https://github.com/msys2/MINGW-packages/issues/13524#event-7555720785
224+ - name : create OpenCL.pc
225+ run : |
226+ cat > /mingw64/lib/pkgconfig/OpenCL.pc << EOF
227+ prefix=/mingw64
228+ exec_prefix=${prefix}
229+ libdir=${exec_prefix}/lib
230+ includedir=${prefix}/include
231+
232+ Name: OpenCL
233+ Description: Open Computing Language generic Installable Client Driver Loader
234+ Version: 2022.09.30-1
235+ Libs: -L${libdir} -lOpenCL.dll
236+ Cflags: -I${includedir}
237+ EOF
238+
239+ - name : Initialize CodeQL
240+ uses : github/codeql-action/init@v2
241+ with :
242+ languages : c, cpp
243+
244+ - name : configure project
245+ run : env PKG_CONFIG_PATH=/mingw64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_BUFFER=Off .
246+
247+ - name : build project
248+ run : cmake --build .
249+
250+ - name : perform CodeQL analysis
251+ uses : github/codeql-action/analyze@v2
252+
253+ - name : copy necessary dlls
254+ run : cp /mingw64/bin/{libcjson,libOpenCL,vulkan-1}.dll .
255+
256+ - name : run fastfetch
257+ run : time ./fastfetch --disable-linewrap false --hide-cursor false --show-errors true --load-config presets/all
258+
259+ - name : run flashfetch
260+ run : time ./flashfetch
261+
262+ - name : run tests
263+ run : ctest
264+
265+ - name : upload artifacts
266+ uses : actions/upload-artifact@v3
267+ with :
268+ name : fastfetch-windows-old
269+ path : |
270+ ./*.dll
271+ ./fastfetch.exe
272+ ./flashfetch.exe
273+
126274 release :
127275 if : github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'LinusDierheimer/fastfetch'
128276 name : Release
129277 runs-on : ubuntu-latest
130278 needs :
131279 - linux
132280 - macos
133- - bsd
281+ - freebsd
282+ - windows
134283 permissions :
135284 contents : write
136285 steps :
@@ -150,4 +299,4 @@ jobs:
150299 tag : ${{ needs.linux.outputs.ffversion }}
151300 commit : ${{ github.sha }}
152301 artifactErrorsFailBuild : true
153- artifacts : fastfetch-linux/*,fastfetch-macos/*,fastfetch-bsd /*
302+ artifacts : fastfetch-linux/*,fastfetch-macos/*,fastfetch-freebsd/*,fastfetch-windows /*
0 commit comments