name: CI on: - push - pull_request jobs: windows-amd64: name: Windows-amd64 runs-on: windows-latest permissions: security-events: write contents: read defaults: run: shell: msys2 {0} steps: - name: checkout repository uses: actions/checkout@v4 - name: setup-msys2 uses: msys2/setup-msys2@v2 with: msystem: CLANG64 update: true install: git mingw-w64-clang-x86_64-7zip mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-vulkan-headers mingw-w64-clang-x86_64-opencl-icd mingw-w64-clang-x86_64-opencl-headers mingw-w64-clang-x86_64-cppwinrt mingw-w64-clang-x86_64-imagemagick - name: print msys version run: uname -a - name: configure project run: env PKG_CONFIG_PATH=/clang64/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_BUILD_TYPE=Debug . - name: build project run: cmake --build . --verbose -j4 - name: copy necessary dlls run: cp /clang64/bin/{OpenCL,vulkan-1}.dll . - name: list features run: ./fastfetch --list-features - name: run fastfetch run: time ./fastfetch -c presets/ci.jsonc --stat false - name: run fastfetch --format json run: time ./fastfetch -c presets/ci.jsonc --format json - name: run flashfetch run: time ./flashfetch - name: print dependencies run: ldd fastfetch - name: run tests run: ctest --output-on-failure - name: create zip archive run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets - name: create 7z archive run: 7z a -t7z -mx9 -bd -y fastfetch-windows-amd64.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets - name: upload artifacts uses: actions/upload-artifact@v4 with: name: fastfetch-windows-amd64 path: ./fastfetch-windows-amd64.*