libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

build_test_msys2.yml (2831B)


      1 # Copyright (c) the JPEG XL Project Authors. All rights reserved.
      2 #
      3 # Use of this source code is governed by a BSD-style
      4 # license that can be found in the LICENSE file.
      5 
      6 # Workflow for building and running tests.
      7 
      8 name: Build/Test MSYS2
      9 on:
     10   merge_group:
     11   push:
     12     branches:
     13       - main
     14       - v*.*.x
     15   pull_request:
     16     types: [opened, reopened, labeled, synchronize]
     17 
     18 permissions:
     19   contents: read
     20 
     21 concurrency:
     22   group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
     23   cancel-in-progress: ${{ github.event_name == 'pull_request' }}
     24 
     25 jobs:
     26   build_test:
     27     name: Windows MSYS2 / ${{ matrix.msystem }}
     28     runs-on: windows-latest
     29     continue-on-error: ${{ matrix.faulty || false }}
     30     strategy:
     31       fail-fast: false
     32       matrix:
     33         include:
     34          - msystem: mingw64
     35          - msystem: clang64
     36          - msystem: mingw32
     37            disable_tests:
     38              - ButteraugliTest.Lossless
     39              - ButteraugliTest.Distmap
     40          # "Legacy" toolchains are being "phased-out":
     41          # https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages
     42          # clang32 is already missing required "gtest" and "libavif"
     43          # - msystem: clang32
     44          #   disable_benchmark: true
     45 
     46     defaults:
     47       run:
     48         shell: msys2 {0}
     49     steps:
     50       - name: Harden Runner
     51         uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
     52         with:
     53           egress-policy: audit
     54 
     55       - name: Checkout the source
     56         uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
     57         with:
     58           submodules: true
     59           fetch-depth: 1
     60       - uses: msys2/setup-msys2@07aeda7763550b267746a772dcea5e5ac3340b36 # v2
     61         with:
     62           msystem: ${{ matrix.msystem }}
     63           update: true
     64           path-type: inherit
     65           install: >-
     66             base-devel
     67             git
     68           pacboy: >-
     69             brotli:p
     70             cmake:p
     71             giflib:p
     72             gtest:p
     73             libavif:p
     74             libjpeg-turbo:p
     75             libpng:p
     76             libwebp:p
     77             ninja:p
     78             toolchain:p
     79 
     80       - name: CMake configure
     81         run: |
     82           cmake \
     83             -DCMAKE_BUILD_TYPE=Release \
     84             -DJPEGXL_ENABLE_JNI=OFF \
     85             -DJPEGXL_ENABLE_MANPAGES=OFF \
     86             -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
     87             -DJPEGXL_FORCE_SYSTEM_GTEST=ON \
     88             -B build \
     89             -G Ninja
     90       - name: CMake build
     91         run: cmake --build build
     92       - name: Test
     93         if: |
     94           github.event_name == 'push' ||
     95           (github.event_name == 'pull_request' &&
     96            contains(github.event.pull_request.labels.*.name, 'CI:full'))
     97         run: ctest --test-dir build --parallel 2 --output-on-failure -E "${{ join(matrix.disable_tests, '|') }}"