diff options
| author | Stefan Boberg <[email protected]> | 2025-11-07 14:49:13 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-11-07 14:49:13 +0100 |
| commit | 24e43a913f29ac3b314354e8ce5175f135bcc64f (patch) | |
| tree | ca442937ceeb63461012b33a4576e9835099f106 /thirdparty/fmt/.github/workflows | |
| parent | get oplog attachments (#622) (diff) | |
| download | zen-24e43a913f29ac3b314354e8ce5175f135bcc64f.tar.xz zen-24e43a913f29ac3b314354e8ce5175f135bcc64f.zip | |
switch to xmake for package management (#611)
This change removes our dependency on vcpkg for package management, in favour of bringing some code in-tree in the `thirdparty` folder as well as using the xmake build-in package management feature. For the latter, all the package definitions are maintained in the zen repo itself, in the `repo` folder.
It should now also be easier to build the project as it will no longer depend on having the right version of vcpkg installed, which has been a common problem for new people coming in to the codebase. Now you should only need xmake to build.
* Bumps xmake requirement on github runners to 2.9.9 to resolve an issue where xmake on Windows invokes cmake with `v144` toolchain which does not exist
* BLAKE3 is now in-tree at `thirdparty/blake3`
* cpr is now in-tree at `thirdparty/cpr`
* cxxopts is now in-tree at `thirdparty/cxxopts`
* fmt is now in-tree at `thirdparty/fmt`
* robin-map is now in-tree at `thirdparty/robin-map`
* ryml is now in-tree at `thirdparty/ryml`
* sol2 is now in-tree at `thirdparty/sol2`
* spdlog is now in-tree at `thirdparty/spdlog`
* utfcpp is now in-tree at `thirdparty/utfcpp`
* xmake package repo definitions is in `repo`
* implemented support for sanitizers. ASAN is supported on windows, TSAN, UBSAN, MSAN etc are supported on Linux/MacOS though I have not yet tested it extensively on MacOS
* the zencore encryption implementation also now supports using mbedTLS which is used on MacOS, though for now we still use openssl on Linux
* crashpad
* bumps libcurl to 8.11.0 (from 8.8.0) which should address a rare build upload bug
Diffstat (limited to 'thirdparty/fmt/.github/workflows')
| -rw-r--r-- | thirdparty/fmt/.github/workflows/cifuzz.yml | 32 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/doc.yml | 42 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/lint.yml | 28 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/linux.yml | 176 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/macos.yml | 58 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/scorecard.yml | 65 | ||||
| -rw-r--r-- | thirdparty/fmt/.github/workflows/windows.yml | 91 |
7 files changed, 492 insertions, 0 deletions
diff --git a/thirdparty/fmt/.github/workflows/cifuzz.yml b/thirdparty/fmt/.github/workflows/cifuzz.yml new file mode 100644 index 000000000..3769e2a8f --- /dev/null +++ b/thirdparty/fmt/.github/workflows/cifuzz.yml @@ -0,0 +1,32 @@ +name: CIFuzz +on: [pull_request] + +permissions: + contents: read + +jobs: + Fuzzing: + runs-on: ubuntu-latest + steps: + - name: Build fuzzers + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@92182553173581f871130c71c71b17f003d47b0a + with: + oss-fuzz-project-name: 'fmt' + dry-run: false + language: c++ + + - name: Run fuzzers + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@92182553173581f871130c71c71b17f003d47b0a + with: + oss-fuzz-project-name: 'fmt' + fuzz-seconds: 300 + dry-run: false + language: c++ + + - name: Upload crash + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + if: failure() && steps.build.outcome == 'success' + with: + name: artifacts + path: ./out/artifacts diff --git a/thirdparty/fmt/.github/workflows/doc.yml b/thirdparty/fmt/.github/workflows/doc.yml new file mode 100644 index 000000000..5f772dab1 --- /dev/null +++ b/thirdparty/fmt/.github/workflows/doc.yml @@ -0,0 +1,42 @@ +name: doc + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Add Ubuntu mirrors + run: | + # Github Actions caching proxy is at times unreliable + # see https://github.com/actions/runner-images/issues/7048 + printf 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | sudo tee /etc/apt/mirrors.txt + curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append /etc/apt/mirrors.txt + sudo sed -i 's~http://azure.archive.ubuntu.com/ubuntu/~mirror+file:/etc/apt/mirrors.txt~' /etc/apt/sources.list + + - name: Create build environment + run: | + sudo apt update + sudo apt install doxygen + pip install mkdocs-material==9.5.25 mkdocstrings==0.26.1 mike==2.1.1 + cmake -E make_directory ${{runner.workspace}}/build + # Workaround https://github.com/actions/checkout/issues/13: + git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)" + git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)" + + - name: Build + working-directory: ${{runner.workspace}}/build + run: $GITHUB_WORKSPACE/support/mkdocs deploy dev + + - name: Deploy + env: + KEY: "${{secrets.KEY}}" + if: env.KEY != '' && github.ref == 'refs/heads/master' + working-directory: ${{runner.workspace}}/fmt/build/fmt.dev + run: git push https://[email protected]/fmtlib/fmt.dev.git diff --git a/thirdparty/fmt/.github/workflows/lint.yml b/thirdparty/fmt/.github/workflows/lint.yml new file mode 100644 index 000000000..1e1dea621 --- /dev/null +++ b/thirdparty/fmt/.github/workflows/lint.yml @@ -0,0 +1,28 @@ +name: lint + +on: + pull_request: + paths: + - '**.h' + - '**.cc' + +permissions: + contents: read + +jobs: + format_code: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Install clang-format + run: | + wget https://apt.llvm.org/llvm.sh + sudo bash ./llvm.sh 17 + sudo apt install clang-format-17 + + - name: Run clang-format + run: | + find include src -name '*.h' -o -name '*.cc' | \ + xargs clang-format-17 -i -style=file -fallback-style=none + git diff --exit-code diff --git a/thirdparty/fmt/.github/workflows/linux.yml b/thirdparty/fmt/.github/workflows/linux.yml new file mode 100644 index 000000000..4fed9c0fc --- /dev/null +++ b/thirdparty/fmt/.github/workflows/linux.yml @@ -0,0 +1,176 @@ +name: linux + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-22.04 + strategy: + matrix: + cxx: [g++-4.9, g++-11, clang++-3.6, clang++-11] + build_type: [Debug, Release] + std: [11] + shared: [""] + include: + - cxx: g++-4.9 + - cxx: clang++-3.6 + - cxx: g++-11 + build_type: Debug + std: 14 + install: sudo apt install g++-11 + - cxx: g++-11 + build_type: Debug + std: 17 + - cxx: g++-11 + build_type: Debug + std: 20 + install: sudo apt install g++-11 + - cxx: g++-13 + build_type: Release + std: 23 + install: sudo apt install g++-13 + shared: -DBUILD_SHARED_LIBS=ON + - cxx: clang++-11 + build_type: Debug + std: 17 + cxxflags: -stdlib=libc++ + install: sudo apt install clang-11 libc++-11-dev libc++abi-11-dev + - cxx: clang++-11 + install: sudo apt install clang-11 + - cxx: clang++-11 + build_type: Debug + fuzz: -DFMT_FUZZ=ON -DFMT_FUZZ_LINKMAIN=ON + std: 17 + install: sudo apt install clang-11 + - cxx: clang++-14 + build_type: Debug + std: 20 + - cxx: clang++-14 + build_type: Debug + std: 20 + cxxflags: -stdlib=libc++ + install: sudo apt install libc++-14-dev libc++abi-14-dev + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Set timezone + run: sudo timedatectl set-timezone 'Europe/Kyiv' + + - name: Install GCC 4.9 + run: | + sudo apt update + sudo apt install libatomic1 libc6-dev libgomp1 libitm1 libmpc3 + # https://launchpad.net/ubuntu/xenial/amd64/g++-4.9/4.9.3-13ubuntu2 + wget --no-verbose \ + http://launchpadlibrarian.net/230069137/libmpfr4_3.1.3-2_amd64.deb \ + http://launchpadlibrarian.net/253728424/libasan1_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/445346135/libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346112/libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/253728426/libgcc-4.9-dev_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/253728432/libstdc++-4.9-dev_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/253728314/gcc-4.9-base_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/445345919/gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/253728399/cpp-4.9_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/253728404/gcc-4.9_4.9.3-13ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/253728401/g++-4.9_4.9.3-13ubuntu2_amd64.deb + sudo dpkg -i \ + libmpfr4_3.1.3-2_amd64.deb \ + libasan1_4.9.3-13ubuntu2_amd64.deb \ + libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libgcc-4.9-dev_4.9.3-13ubuntu2_amd64.deb \ + libstdc++-4.9-dev_4.9.3-13ubuntu2_amd64.deb \ + gcc-4.9-base_4.9.3-13ubuntu2_amd64.deb \ + gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + cpp-4.9_4.9.3-13ubuntu2_amd64.deb \ + gcc-4.9_4.9.3-13ubuntu2_amd64.deb \ + g++-4.9_4.9.3-13ubuntu2_amd64.deb + if: ${{ matrix.cxx == 'g++-4.9' }} + + - name: Install Clang 3.6 + run: | + sudo apt update + sudo apt install libtinfo5 + # https://code.launchpad.net/ubuntu/xenial/amd64/clang-3.6/1:3.6.2-3ubuntu2 + wget --no-verbose \ + http://launchpadlibrarian.net/230019046/libffi6_3.2.1-4_amd64.deb \ + http://launchpadlibrarian.net/445346109/libasan2_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346135/libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346112/libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346128/libmpx0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346113/libgcc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346131/libstdc++-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/445346022/libobjc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/254405108/libllvm3.6v5_3.6.2-3ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/254405097/libclang-common-3.6-dev_3.6.2-3ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/254405101/libclang1-3.6_3.6.2-3ubuntu2_amd64.deb \ + http://launchpadlibrarian.net/445345919/gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + http://launchpadlibrarian.net/254405091/clang-3.6_3.6.2-3ubuntu2_amd64.deb + sudo dpkg -i \ + libffi6_3.2.1-4_amd64.deb \ + libasan2_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libmpx0_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libgcc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libstdc++-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libobjc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + libllvm3.6v5_3.6.2-3ubuntu2_amd64.deb \ + libclang-common-3.6-dev_3.6.2-3ubuntu2_amd64.deb \ + libclang1-3.6_3.6.2-3ubuntu2_amd64.deb \ + gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \ + clang-3.6_3.6.2-3ubuntu2_amd64.deb + if: ${{ matrix.cxx == 'clang++-3.6' }} + + - name: Add repositories for newer GCC + run: | + sudo apt-add-repository ppa:ubuntu-toolchain-r/test + if: ${{ matrix.cxx == 'g++-13' }} + + - name: Add Ubuntu mirrors + run: | + # GitHub Actions caching proxy is at times unreliable + # see https://github.com/actions/runner-images/issues/7048. + mirrors=/etc/apt/mirrors.txt + printf 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | \ + sudo tee $mirrors + curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append $mirrors + sudo sed -i \ + "s~http://azure.archive.ubuntu.com/ubuntu/~mirror+file:$mirrors~" \ + /etc/apt/sources.list + + - name: Create build environment + run: | + sudo apt update + ${{matrix.install}} + sudo apt install locales-all + cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure + working-directory: ${{runner.workspace}}/build + env: + CXX: ${{matrix.cxx}} + CXXFLAGS: ${{matrix.cxxflags}} + run: | + cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_CXX_STANDARD=${{matrix.std}} \ + -DCMAKE_CXX_VISIBILITY_PRESET=hidden \ + -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \ + -DFMT_DOC=OFF -DFMT_PEDANTIC=ON -DFMT_WERROR=ON \ + ${{matrix.fuzz}} ${{matrix.shared}} $GITHUB_WORKSPACE + + - name: Build + working-directory: ${{runner.workspace}}/build + run: | + threads=`nproc` + cmake --build . --config ${{matrix.build_type}} --parallel $threads + + - name: Test + working-directory: ${{runner.workspace}}/build + run: ctest -C ${{matrix.build_type}} + env: + CTEST_OUTPUT_ON_FAILURE: True diff --git a/thirdparty/fmt/.github/workflows/macos.yml b/thirdparty/fmt/.github/workflows/macos.yml new file mode 100644 index 000000000..0ac76cec4 --- /dev/null +++ b/thirdparty/fmt/.github/workflows/macos.yml @@ -0,0 +1,58 @@ +name: macos + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + build: + strategy: + matrix: + os: [macos-13, macos-14] + build_type: [Debug, Release] + std: [11, 17, 20] + shared: [""] + exclude: + - { os: macos-13, std: 11 } + - { os: macos-13, std: 17 } + include: + - os: macos-14 + std: 23 + build_type: Release + shared: -DBUILD_SHARED_LIBS=ON + + runs-on: '${{ matrix.os }}' + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Set timezone + run: sudo systemsetup -settimezone 'Europe/Minsk' + + - name: Select Xcode 14.3 (macOS 13) + run: sudo xcode-select -s "/Applications/Xcode_14.3.app" + if: ${{ matrix.os == 'macos-13' }} + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure + working-directory: ${{runner.workspace}}/build + run: | + cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} ${{matrix.shared}} \ + -DCMAKE_CXX_STANDARD=${{matrix.std}} \ + -DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \ + -DFMT_DOC=OFF -DFMT_PEDANTIC=ON -DFMT_WERROR=ON $GITHUB_WORKSPACE + + - name: Build + working-directory: ${{runner.workspace}}/build + run: | + threads=`sysctl -n hw.logicalcpu` + cmake --build . --config ${{matrix.build_type}} --parallel $threads + + - name: Test + working-directory: ${{runner.workspace}}/build + run: ctest -C ${{matrix.build_type}} + env: + CTEST_OUTPUT_ON_FAILURE: True diff --git a/thirdparty/fmt/.github/workflows/scorecard.yml b/thirdparty/fmt/.github/workflows/scorecard.yml new file mode 100644 index 000000000..fe9a742bf --- /dev/null +++ b/thirdparty/fmt/.github/workflows/scorecard.yml @@ -0,0 +1,65 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '26 14 * * 5' + push: + branches: [ "master" ] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + + steps: + - name: "Checkout code" + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard. + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5 + with: + sarif_file: results.sarif diff --git a/thirdparty/fmt/.github/workflows/windows.yml b/thirdparty/fmt/.github/workflows/windows.yml new file mode 100644 index 000000000..3fbe7fd8c --- /dev/null +++ b/thirdparty/fmt/.github/workflows/windows.yml @@ -0,0 +1,91 @@ +name: windows + +on: [push, pull_request] + +permissions: + contents: read + +jobs: + build: + runs-on: ${{matrix.os}} + strategy: + matrix: + # windows-2022 has MSVC 2022 installed: + # https://github.com/actions/virtual-environments. + os: [windows-2022] + platform: [Win32, x64] + toolset: [v142] + standard: [14, 17, 20] + shared: ["", -DBUILD_SHARED_LIBS=ON] + build_type: [Debug, Release] + exclude: + - { toolset: v142, standard: 14 } + - { platform: Win32, standard: 14 } + - { platform: Win32, standard: 20 } + - { platform: x64, standard: 14, shared: -DBUILD_SHARED_LIBS=ON } + - { platform: x64, standard: 20, shared: -DBUILD_SHARED_LIBS=ON } + include: + - os: windows-2022 + platform: x64 + toolset: v143 + build_type: Debug + standard: 20 + + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Set timezone + run: tzutil /s "FLE Standard Time" + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure + # Use a bash shell for $GITHUB_WORKSPACE. + shell: bash + working-directory: ${{runner.workspace}}/build + run: | + cmake -A ${{matrix.platform}} -T ${{matrix.toolset}} \ + -DCMAKE_CXX_STANDARD=${{matrix.standard}} \ + ${{matrix.shared}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + $GITHUB_WORKSPACE + + - name: Build + working-directory: ${{runner.workspace}}/build + run: | + $threads = (Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors + cmake --build . --config ${{matrix.build_type}} --parallel $threads + + - name: Test + working-directory: ${{runner.workspace}}/build + run: ctest -C ${{matrix.build_type}} -V + env: + CTEST_OUTPUT_ON_FAILURE: True + + mingw: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + strategy: + matrix: + sys: [ mingw64, ucrt64 ] + steps: + - name: Set timezone + run: tzutil /s "FLE Standard Time" + shell: cmd + - uses: msys2/setup-msys2@40677d36a502eb2cf0fb808cc9dec31bf6152638 # v2.28.0 + with: + release: false + msystem: ${{matrix.sys}} + pacboy: cc:p cmake:p ninja:p lld:p + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Configure + run: cmake -B ../build -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Debug + env: { LDFLAGS: -fuse-ld=lld } + - name: Build + run: cmake --build ../build + - name: Test + run: ctest -j `nproc` --test-dir ../build + env: + CTEST_OUTPUT_ON_FAILURE: True |