name: CI (msys) on: # only manual triggers due to low-importance of the workflows # TODO: for regular runs, provision dedicated self-hosted runners workflow_dispatch: # run once every week schedule: - cron: '0 0 * * 0' concurrency: group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} cancel-in-progress: true env: GGML_NLOOP: 3 GGML_N_THREADS: 1 LLAMA_LOG_COLORS: 1 LLAMA_LOG_PREFIX: 1 LLAMA_LOG_TIMESTAMPS: 1 jobs: windows-msys2: runs-on: windows-2025 strategy: fail-fast: false matrix: include: - { sys: UCRT64, env: ucrt-x86_64, build: Release } - { sys: CLANG64, env: clang-x86_64, build: Release } steps: - name: Clone uses: actions/checkout@v6 #- name: ccache # uses: ggml-org/ccache-action@v1.2.16 # with: # key: windows-msys2 # variant: ccache # evict-old-files: 1d # save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} - name: Setup ${{ matrix.sys }} uses: msys2/setup-msys2@v2 with: update: true msystem: ${{matrix.sys}} install: >- base-devel git mingw-w64-${{matrix.env}}-toolchain mingw-w64-${{matrix.env}}-cmake mingw-w64-${{matrix.env}}-openblas - name: Build using CMake shell: msys2 {0} run: | cmake -B build cmake --build build --config ${{ matrix.build }} -j $(nproc) - name: Clean after building using CMake shell: msys2 {0} run: | rm -rf build - name: Build using CMake w/ OpenBLAS shell: msys2 {0} run: | cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS cmake --build build --config ${{ matrix.build }} -j $(nproc)