8000 Mark 1.0.1 as released · cryfs/cryfs@639c26a · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Mark 1.0.1 as released #1527

Mark 1.0.1 as released

Mark 1.0.1 as released #1527

Workflow file for this run

name: CI
on: ['push', 'pull_request']
jobs:
linux_macos:
name: CI
strategy:
fail-fast: false
matrix:
name: [""]
os:
- macos-12
- macos-13
- macos-14
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
build_type:
- Debug
- Release
- RelWithDebInfo
compiler:
- compiler: gcc
version: 7
libcxx: libstdc++11
cc: gcc-7
cxx: g++-7
homebrew_package: gcc@7
apt_package: g++-7
- compiler: gcc
version: 8
libcxx: libstdc++11
cc: gcc-8
cxx: g++-8
homebrew_package: gcc@8
apt_package: g++-8
- compiler: gcc
version: 9
libcxx: libstdc++11
cc: gcc-9
cxx: g++-9
apt_package: g++-9
homebrew_package: gcc@9
- compiler: gcc
version: 10
libcxx: libstdc++11
cc: gcc-10
cxx: g++-10
apt_package: g++-10
homebrew_package: gcc@10
- compiler: gcc
version: 11
libcxx: libstdc++11
cc: gcc-11
cxx: g++-11
apt_package: g++-11
homebrew_package: gcc@11
- compiler: gcc
version: 12
libcxx: libstdc++11
cc: gcc-12
cxx: g++-12
apt_package: g++-12
homebrew_package: gcc@12
- compiler: gcc
version: 13
libcxx: libstdc++11
cc: gcc-13
cxx: g++-13
apt_package: g++-13
homebrew_package: gcc@13
- compiler: gcc
version: 14
libcxx: libstdc++11
cc: gcc-14
cxx: g++-14
apt_package: g++-14
homebrew_package: gcc@14
- compiler: clang
version: 7.1
libcxx: libc++
cc: clang-7
cxx: clang++-7
macos_cc: llvm@7/bin/clang
macos_cxx: llvm@7/bin/clang++
apt_package: clang-7 libc++-7-dev libc++abi-7-dev
homebrew_package: llvm@7
- compiler: clang
version: 8
libcxx: libc++
cc: clang-8
cxx: clang++-8
macos_cc: llvm@8/bin/clang
macos_cxx: llvm@8/bin/clang++
apt_package: clang-8 libc++-8-dev libc++abi-8-dev
homebrew_package: llvm@8
- compiler: clang
version: 9
libcxx: libc++
cc: clang-9
cxx: clang++-9
macos_cc: llvm@9/bin/clang
macos_cxx: llvm@9/bin/clang++
apt_package: clang-9 libc++-9-dev libc++abi-9-dev
homebrew_package: llvm@9
- compiler: clang
version: 10
libcxx: libc++
cc: clang-10
cxx: clang++-10
macos_cc: llvm@10/bin/clang
macos_cxx: llvm@10/bin/clang++
apt_package: clang-10 libc++-10-dev libc++abi-10-dev
homebrew_package: llvm@10
- compiler: clang
version: 11
libcxx: libc++
cc: clang-11
cxx: clang++-11
macos_cc: llvm@11/bin/clang
macos_cxx: llvm@11/bin/clang++
apt_package: clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev
homebrew_package: llvm@11
- compiler: clang
version: 12
libcxx: libc++
cc: clang-12
cxx: clang++-12
macos_cc: llvm@12/bin/clang
macos_cxx: llvm@12/bin/clang++
apt_package: clang-12 libc++-12-dev libc++abi-12-dev libomp5-12 libomp-12-dev
homebrew_package: llvm@12
- compiler: clang
version: 13
libcxx: libc++
cc: clang-13
cxx: clang++-13
macos_cc: llvm@13/bin/clang
macos_cxx: llvm@13/bin/clang++
apt_package: clang-13 libc++-13-dev libc++abi-13-dev libomp5-13 libomp-13-dev
homebrew_package: llvm@13
- compiler: clang
version: 14
libcxx: libc++
cc: clang-14
cxx: clang++-14
macos_cc: llvm@14/bin/clang
macos_cxx: llvm@14/bin/clang++
apt_package: clang-14 libc++-14-dev libc++abi-14-dev libomp5-14 libomp-14-dev
homebrew_package: llvm@14
- compiler: clang
version: 15
libcxx: libc++
cc: clang-15
cxx: clang++-15
macos_cc: llvm@15/bin/clang
macos_cxx: llvm@15/bin/clang++
apt_package: clang-15 libc++-15-dev libc++abi-15-dev libomp5-15 libomp-15-dev
homebrew_package: llvm@15
- compiler: clang
version: 16
libcxx: libc++
cc: clang-16
cxx: clang++-16
macos_cc: llvm@16/bin/clang
macos_cxx: llvm@16/bin/clang++
apt_package: clang-16 libc++-16-dev libc++abi-16-dev libomp5-16 libomp-16-dev
homebrew_package: llvm@16
- compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
homebrew_package: llvm@17
# Apple Clang
# - compiler: apple-clang
# version: xxx
# homebrew_package: ""
extra_conan_flags: [""]
extra_cxxflags: ['[]']
extra_env_vars_for_test: [""]
install_dependencies_manually: [false]
run_build: [true]
run_tests: [true]
run_cpack: [false]
run_clang_tidy: [false]
gtest_args: [""]
exclude:
# MacOS CI doesn't have Clang 7, 8, 9, 10, 11 or GCC 7, 8 anymore. And other GCC versions are often incompatible, so we don't support them officially.
- os: macos-12
compiler: {compiler: clang, version: 7.1, libcxx: libc++, cc: clang-7, cxx: clang++-7, macos_cc: llvm@7/bin/clang, macos_cxx: llvm@7/bin/clang++, apt_package: "clang-7 libc++-7-dev libc++abi-7-dev", homebrew_package: llvm@7}
- os: macos-12
compiler: {compiler: clang, version: 8, libcxx: libc++, cc: clang-8, cxx: clang++-8, macos_cc: llvm@8/bin/clang, macos_cxx: llvm@8/bin/clang++, apt_package: "clang-8 libc++-8-dev libc++abi-8-dev", homebrew_package: llvm@8}
- os: macos-12
compiler: {compiler: clang, version: 9, libcxx: libc++, cc: clang-9, cxx: clang++-9, macos_cc: llvm@9/bin/clang, macos_cxx: llvm@9/bin/clang++, apt_package: "clang-9 libc++-9-dev libc++abi-9-dev", homebrew_package: llvm@9}
- os: macos-12
compiler: {compiler: clang, version: 10, libcxx: libc++, cc: clang-10, cxx: clang++-10, macos_cc: llvm@10/bin/clang, macos_cxx: llvm@10/bin/clang++, apt_package: "clang-10 libc++-10-dev libc++abi-10-dev", homebrew_package: llvm@10}
- os: macos-12
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
- os: macos-12
compiler: {compiler: gcc, version: 7, libcxx: libstdc++11, cc: gcc-7, cxx: g++-7, homebrew_package: gcc@7, apt_package: g++-7}
- os: macos-12
compiler: {compiler: gcc, version: 8, libcxx: libstdc++11, cc: gcc-8, cxx: g++-8, homebrew_package: gcc@8, apt_package: g++-8}
- os: macos-12
compiler: {compiler: gcc, version: 9, libcxx: libstdc++11, cc: gcc-9, cxx: g++-9, homebrew_package: gcc@9, apt_package: g++-9}
- os: macos-12
compiler: {compiler: gcc, version: 10, libcxx: libstdc++11, cc: gcc-10, cxx: g++-10, homebrew_package: gcc@10, apt_package: g++-10}
- os: macos-12
compiler: {compiler: gcc, version: 11, libcxx: libstdc++11, cc: gcc-11, cxx: g++-11, homebrew_package: gcc@11, apt_package: g++-11}
- os: macos-12
compiler: {compiler: gcc, version: 12, libcxx: libstdc++11, cc: gcc-12, cxx: g++-12, homebrew_package: gcc@12, apt_package: g++-12}
- os: macos-12
compiler: {compiler: gcc, version: 13, libcxx: libstdc++11, cc: gcc-13, cxx: g++-13, homebrew_package: gcc@13, apt_package: g++-13}
- os: macos-12
compiler: {compiler: gcc, version: 14, libcxx: libstdc++11, cc: gcc-14, cxx: g++-14, homebrew_package: gcc@14, apt_package: g++-14}
- os: macos-13
compiler: {compiler: clang, version: 7.1, libcxx: libc++, cc: clang-7, cxx: clang++-7, macos_cc: llvm@7/bin/clang, macos_cxx: llvm@7/bin/clang++, apt_package: "clang-7 libc++-7-dev libc++abi-7-dev", homebrew_package: llvm@7}
- os: macos-13
compiler: {compiler: clang, version: 8, libcxx: libc++, cc: clang-8, cxx: clang++-8, macos_cc: llvm@8/bin/clang, macos_cxx: llvm@8/bin/clang++, apt_package: "clang-8 libc++-8-dev libc++abi-8-dev", homebrew_package: llvm@8}
- os: macos-13
compiler: {compiler: clang, version: 9, libcxx: libc++, cc: clang-9, cxx: clang++-9, macos_cc: llvm@9/bin/clang, macos_cxx: llvm@9/bin/clang++, apt_package: "clang-9 libc++-9-dev libc++abi-9-dev", homebrew_package: llvm@9}
- os: macos-13
compiler: {compiler: clang, version: 10, libcxx: libc++, cc: clang-10, cxx: clang++-10, macos_cc: llvm@10/bin/clang, macos_cxx: llvm@10/bin/clang++, apt_package: "clang-10 libc++-10-dev libc++abi-10-dev", homebrew_package: llvm@10}
- os: macos-13
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
- os: macos-13
compiler: {compiler: gcc, version: 7, libcxx: libstdc++11, cc: gcc-7, cxx: g++-7, homebrew_package: gcc@7, apt_package: g++-7}
- os: macos-13
compiler: {compiler: gcc, version: 8, libcxx: libstdc++11, cc: gcc-8, cxx: g++-8, homebrew_package: gcc@8, apt_package: g++-8}
- os: macos-13
compiler: {compiler: gcc, version: 9, libcxx: libstdc++11, cc: gcc-9, cxx: g++-9, homebrew_package: gcc@9, apt_package: g++-9}
- os: macos-13
compiler: {compiler: gcc, version: 10, libcxx: libstdc++11, cc: gcc-10, cxx: g++-10, homebrew_package: gcc@10, apt_package: g++-10}
- os: macos-13
compiler: {compiler: gcc, version: 11, libcxx: libstdc++11, cc: gcc-11, cxx: g++-11, homebrew_package: gcc@11, apt_package: g++-11}
- os: macos-13
compiler: {compiler: gcc, version: 12, libcxx: libstdc++11, cc: gcc-12, cxx: g++-12, homebrew_package: gcc@12, apt_package: g++-12}
- os: macos-13
compiler: {compiler: gcc, version: 13, libcxx: libstdc++11, cc: gcc-13, cxx: g++-13, homebrew_package: gcc@13, apt_package: g++-13}
- os: macos-13
compiler: {compiler: gcc, version: 14, libcxx: libstdc++11, cc: gcc-14, cxx: g++-14, homebrew_package: gcc@14, apt_package: g++-14}
# MacOS 14 doesn't have Clang 7, 8, 9, 10, 11, 12 or GCC 7, 8 anymore. And other GCC versions are often incompatible, so we don't support them officially.
- os: macos-14
compiler: {compiler: clang, version: 7.1, libcxx: libc++, cc: clang-7, cxx: clang++-7, macos_cc: llvm@7/bin/clang, macos_cxx: llvm@7/bin/clang++, apt_package: "clang-7 libc++-7-dev libc++abi-7-dev", homebrew_package: llvm@7}
- os: macos-14
compiler: {compiler: clang, version: 8, libcxx: libc++, cc: clang-8, cxx: clang++-8, macos_cc: llvm@8/bin/clang, macos_cxx: llvm@8/bin/clang++, apt_package: "clang-8 libc++-8-dev libc++abi-8-dev", homebrew_package: llvm@8}
- os: macos-14
compiler: {compiler: clang, version: 9, libcxx: libc++, cc: clang-9, cxx: clang++-9, macos_cc: llvm@9/bin/clang, macos_cxx: llvm@9/bin/clang++, apt_package: "clang-9 libc++-9-dev libc++abi-9-dev", homebrew_package: llvm@9}
- os: macos-14
compiler: {compiler: clang, version: 10, libcxx: libc++, cc: clang-10, cxx: clang++-10, macos_cc: llvm@10/bin/clang, macos_cxx: llvm@10/bin/clang++, apt_package: "clang-10 libc++-10-dev libc++abi-10-dev", homebrew_package: llvm@10}
- os: macos-14
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
- os: macos-14
compiler: {compiler: gcc, version: 7, libcxx: libstdc++11, cc: gcc-7, cxx: g++-7, homebrew_package: gcc@7, apt_package: g++-7}
- os: macos-14
compiler: {compiler: gcc, version: 8, libcxx: libstdc++11, cc: gcc-8, cxx: g++-8, homebrew_package: gcc@8, apt_package: g++-8}
- os: macos-14
compiler: {compiler: gcc, version: 9, libcxx: libstdc++11, cc: gcc-9, cxx: g++-9, homebrew_package: gcc@9, apt_package: g++-9}
- os: macos-14
compiler: {compiler: gcc, version: 10, libcxx: libstdc++11, cc: gcc-10, cxx: g++-10, homebrew_package: gcc@10, apt_package: g++-10}
- os: macos-14
compiler: {compiler: gcc, version: 11, libcxx: libstdc++11, cc: gcc-11, cxx: g++-11, homebrew_package: gcc@11, apt_package: g++-11}
- os: macos-14
compiler: {compiler: gcc, version: 12, libcxx: libstdc++11, cc: gcc-12, cxx: g++-12, homebrew_package: gcc@12, apt_package: g++-12}
- os: macos-14
compiler: {compiler: gcc, version: 13, libcxx: libstdc++11, cc: gcc-13, cxx: g++-13, homebrew_package: gcc@13, apt_package: g++-13}
- os: macos-14
compiler: {compiler: gcc, version: 14, libcxx: libstdc++11, cc: gcc-14, cxx: g++-14, homebrew_package: gcc@14, apt_package: g++-14}
# Clang 12 on macos-14 fails the cmake step saying "The C compiler is not able to compile a simple test program. ld: library 'System' not found"
- os: macos-14
compiler: {compiler: clang, version: 12, libcxx: libc++, cc: clang-12, cxx: clang++-12, macos_cc: llvm@12/bin/clang, macos_cxx: llvm@12/bin/clang++, apt_package: "clang-12 libc++-12-dev libc++abi-12-dev B41A libomp5-12 libomp-12-dev", homebrew_package: llvm@12}
# Clang 14, 16 on macos-14 builds fine but tests fail with "line 9: 55242 Trace/BPT trap: 5 ./cpp-utils/cpp-utils-test"
# TODO Can we fix this? Not sure what's causing it
- os: macos-14
compiler: {compiler: clang, version: 14, libcxx: libc++, cc: clang-14, cxx: clang++-14, macos_cc: llvm@14/bin/clang, macos_cxx: llvm@14/bin/clang++, apt_package: "clang-14 libc++-14-dev libc++abi-14-dev libomp5-14 libomp-14-dev", homebrew_package: llvm@14}
- os: macos-14
compiler: {compiler: clang, version: 16, libcxx: libc++, cc: clang-16, cxx: clang++-16, macos_cc: llvm@16/bin/clang, macos_cxx: llvm@16/bin/clang++, apt_package: "clang-16 libc++-16-dev libc++abi-16-dev libomp5-16 libomp-16-dev", homebrew_package: llvm@16}
# Ubuntu 20.04 doesn't have GCC 11, 12, 13, 14 yet
- os: ubuntu-20.04
compiler: {compiler: gcc, version: 11, libcxx: libstdc++11, cc: gcc-11, cxx: g++-11, homebrew_package: gcc@11, apt_package: g++-11}
- os: ubuntu-20.04
compiler: {compiler: gcc, version: 12, libcxx: libstdc++11, cc: gcc-12, cxx: g++-12, homebrew_package: gcc@12, apt_package: g++-12}
- os: ubuntu-20.04
compiler: {compiler: gcc, version: 13, libcxx: libstdc++11, cc: gcc-13, cxx: g++-13, homebrew_package: gcc@13, apt_package: g++-13}
- os: ubuntu-20.04
compiler: {compiler: gcc, version: 14, libcxx: libstdc++11, cc: gcc-14, cxx: g++-14, homebrew_package: gcc@14, apt_package: g++-14}
# Ubuntu 22.04 doesn't have gcc 7, 8 or clang 7, 8, 9, 10 anymore, and doesn't have gcc 13, 14 yet
- os: ubuntu-22.04
compiler: {compiler: gcc, version: 7, libcxx: libstdc++11, cc: gcc-7, cxx: g++-7, homebrew_package: gcc@7, apt_package: g++-7}
- os: ubuntu-22.04
compiler: {compiler: gcc, version: 8, libcxx: libstdc++11, cc: gcc-8, cxx: g++-8, homebrew_package: gcc@8, apt_package: g++-8}
- os: ubuntu-22.04
compiler: {compiler: gcc, version: 13, libcxx: libstdc++11, cc: gcc-13, cxx: g++-13, homebrew_package: gcc@13, apt_package: g++-13}
- os: ubuntu-22.04
compiler: {compiler: gcc, version: 14, libcxx: libstdc++11, cc: gcc-14, cxx: g++-14, homebrew_package: gcc@14, apt_package: g++-14}
- os: ubuntu-22.04
compiler: {compiler: clang, version: 7.1, libcxx: libc++, cc: clang-7, cxx: clang++-7, macos_cc: llvm@7/bin/clang, macos_cxx: llvm@7/bin/clang++, apt_package: "clang-7 libc++-7-dev libc++abi-7-dev", homebrew_package: llvm@7}
- os: ubuntu-22.04
compiler: {compiler: clang, version: 8, libcxx: libc++, cc: clang-8, cxx: clang++-8, macos_cc: llvm@8/bin/clang, macos_cxx: llvm@8/bin/clang++, apt_package: "clang-8 libc++-8-dev libc++abi-8-dev", homebrew_package: llvm@8}
- os: ubuntu-22.04
compiler: {compiler: clang, version: 9, libcxx: libc++, cc: clang-9, cxx: clang++-9, macos_cc: llvm@9/bin/clang, macos_cxx: llvm@9/bin/clang++, apt_package: "clang-9 libc++-9-dev libc++abi-9-dev", homebrew_package: llvm@9}
- os: ubuntu-22.04
compiler: {compiler: clang, version: 10, libcxx: libc++, cc: clang-10, cxx: clang++-10, macos_cc: llvm@10/bin/clang, macos_cxx: llvm@10/bin/clang++, apt_package: "clang-10 libc++-10-dev libc++abi-10-dev", homebrew_package: llvm@10}
# Ubuntu 22.04 can't install clang-12 due to a apt package misconfiguration
- os: ubuntu-22.04
compiler: {compiler: clang, version: 12, libcxx: libc++, cc: clang-12, cxx: clang++-12, macos_cc: llvm@12/bin/clang, macos_cxx: llvm@12/bin/clang++, apt_package: "clang-12 libc++-12-dev libc++abi-12-dev libomp5-12 libomp-12-dev", homebrew_package: llvm@12}
# Ubuntu 24.04 doesn't have gcc 7, 8 or clang 7, 8, 9, 10, 11, 12, 13 anymore
- os: ubuntu-24.04
compiler: {compiler: gcc, version: 7, libcxx: libstdc++11, cc: gcc-7, cxx: g++-7, homebrew_package: gcc@7, apt_package: g++-7}
- os: ubuntu-24.04
compiler: {compiler: gcc, version: 8, libcxx: libstdc++11, cc: gcc-8, cxx: g++-8, homebrew_package: gcc@8, apt_package: g++-8}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 7.1, libcxx: libc++, cc: clang-7, cxx: clang++-7, macos_cc: llvm@7/bin/clang, macos_cxx: llvm@7/bin/clang++, apt_package: "clang-7 libc++-7-dev libc++abi-7-dev", homebrew_package: llvm@7}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 8, libcxx: libc++, cc: clang-8, cxx: clang++-8, macos_cc: llvm@8/bin/clang, macos_cxx: llvm@8/bin/clang++, apt_package: "clang-8 libc++-8-dev libc++abi-8-dev", homebrew_package: llvm@8}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 9, libcxx: libc++, cc: clang-9, cxx: clang++-9, macos_cc: llvm@9/bin/clang, macos_cxx: llvm@9/bin/clang++, apt_package: "clang-9 libc++-9-dev libc++abi-9-dev", homebrew_package: llvm@9}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 10, libcxx: libc++, cc: clang-10, cxx: clang++-10, macos_cc: llvm@10/bin/clang, macos_cxx: llvm@10/bin/clang++, apt_package: "clang-10 libc++-10-dev libc++abi-10-dev", homebrew_package: llvm@10}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 12, libcxx: libc++, cc: clang-12, cxx: clang++-12, macos_cc: llvm@12/bin/clang, macos_cxx: llvm@12/bin/clang++, apt_package: "clang-12 libc++-12-dev libc++abi-12-dev libomp5-12 libomp-12-dev", homebrew_package: llvm@12}
- os: ubuntu-24.04
compiler: {compiler: clang, version: 13, libcxx: libc++, cc: clang-13, cxx: clang++-13, macos_cc: llvm@13/bin/clang, macos_cxx: llvm@13/bin/clang++, apt_package: "clang-13 libc++-13-dev libc++abi-13-dev libomp5-13 libomp-13-dev", homebrew_package: llvm@13}
# Clang 11 on Ubuntu seems to have a bug that fails CI, see https://github.com/gabime/spdlog/issues/2812
- os: ubuntu-20.04
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
build_type: Debug
- os: ubuntu-22.04
compiler: {compiler: clang, version: 11, libcxx: libc++, cc: clang-11, cxx: clang++-11, macos_cc: llvm@11/bin/clang, macos_cxx: llvm@11/bin/clang++, apt_package: "clang-11 libc++-11-dev libc++abi-11-dev libomp5-11 libomp-11-dev", homebrew_package: llvm@11}
build_type: Debug
include:
- name: Local dependencies
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: ""
extra_cxxflags: '[]'
extra_env_vars_for_test: ""
install_dependencies_manually: true
run_build: true
run_tests: true
run_cpack: false
- name: Werror gcc
os: ubuntu-24.04
compiler:
compiler: gcc
version: 14
libcxx: libstdc++
cc: gcc-14
cxx: g++-14
apt_package: g++-14
# build_type cannot be debug because gcc checks for some errors in optimization passes
build_type: RelWithDebInfo
extra_conan_flags: "-o '&:use_werror=True'"
extra_cxxflags: '[]'
install_dependencies_manually: false
run_build: true
run_tests: false
run_cpack: false
- name: Werror clang
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: "-o '&:use_werror=True'"
extra_cxxflags: '["-D_LIBCPP_ENABLE_NODISCARD=1", "-D_LIBCPP_ENABLE_DEPRECATION_WARNINGS=1"]'
install_dependencies_manually: false
run_build: true
run_tests: false
run_cpack: false
- name: No compatibility
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: RelWithDebInfo
extra_conan_flags: ""
extra_cxxflags: '["-DCRYFS_NO_COMPATIBILITY"]'
extra_env_vars_for_test: ""
install_dependencies_manually: false
run_build: true
run_tests: true
run_cpack: false
- name: No update checks
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: RelWithDebInfo
extra_conan_flags: "-o '&:update_checks=False'"
extra_cxxflags: '[]'
extra_env_vars_for_test: ""
install_dependencies_manually: false
run_build: true
run_tests: true
run_cpack: false
- name: cpack
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
F438 build_type: RelWithDebInfo
extra_conan_flags: ""
extra_cxxflags: '[]'
extra_env_vars_for_test: ""
install_dependencies_manually: false
run_build: true
run_tests: false
run_cpack: true
- name: ASAN
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
# Using libstdc++11 instead of libc++ for ASAN because of
# - https://github.com/llvm/llvm-project/issues/52771
# - https://github.com/llvm/llvm-project/issues/59432
libcxx: libstdc++11
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: ""
extra_cxxflags: '["-O1", "-fsanitize=address", "-fno-omit-frame-pointer", "-fno-optimize-sibling-calls", "-fno-common", "-fsanitize-address-use-after-scope"]'
extra_env_vars_for_test: ASAN_OPTIONS="detect_leaks=1 check_initialization_order=1 detect_stack_use_after_return=1 detect_invalid_pointer_pairs=1 atexit=1"
install_dependencies_manually: false
run_build: true
run_tests: true
run_cpack: false
- name: UBSAN
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: ""
extra_cxxflags: '["-O1", "-fno-sanitize-recover=undefined,nullability,implicit-conversion,unsigned-integer-overflow,local-bounds,float-divide-by-zero", "-fno-omit-frame-pointer", "-fno-optimize-sibling-calls", "-fno-common"]'
extra_env_vars_for_test: UBSAN_OPTIONS="print_stacktrace=1"
install_dependencies_manually: false
run_build: true
run_tests: true
run_cpack: false
- name: TSAN
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: ""
extra_cxxflags: '["-O2", "-fsanitize=thread", "-fno-omit-frame-pointer", "-fno-omit-frame-pointer", "-fno-optimize-sibling-calls", "-fno-common"]'
install_dependencies_manually: false
run_build: true
run_tests: true
run_cpack: false
gtest_args: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*:SubprocessTest.*:SignalCatcherTest.*_thenDies:SignalHandlerTest.*_thenDies:SignalHandlerTest.givenMultipleSigIntHandlers_whenRaising_thenCatchesCorrectSignal:CliTest_Setup.*:CliTest_IntegrityCheck.*:*/CliTest_WrongEnvironment.*:CliTest_Unmount.*:CliTest.WorksWithCommasInBasedir"
extra_env_vars_for_test: OMP_NUM_THREADS=1
- name: clang-tidy
os: ubuntu-24.04
compiler:
compiler: clang
version: 17
libcxx: libc++
cc: clang-17
cxx: clang++-17
macos_cc: llvm@17/bin/clang
macos_cxx: llvm@17/bin/clang++
apt_package: clang-17 clang-tidy-17 libc++-17-dev libc++abi-17-dev libomp5-17 libomp-17-dev
build_type: Debug
extra_conan_flags: ""
extra_cxxflags: '[]'
install_dependencies_manually: false
run_build: false
run_tests: false
run_cpack: false
extra_env_vars_for_test: ""
run_clang_tidy: true
runs-on: ${{matrix.os}}
env:
# Setting conan cache dir to a location where our Github Cache Action can find it
CONAN_HOME: "${{ github.workspace }}/conan-cache/"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch all history because we need that to determine our version number
fetch-depth: 0
#TODO Ideally, all the setup actions would be in their own subaction, but Github doesn't support using third party actions (e.g. cache) from nested actions yet, see https://github.com/actions/runner/issues/862
- name: Setup MacOS
if: ${{ runner.os == 'macOS' }}
uses: ./.github/workflows/actions/setup_macos
with:
macos_version: ${{ matrix.os }}
extra_homebrew_packages: ${{ matrix.compiler.homebrew_package }}
- name: Setup Linux
if: ${{ runner.os == 'Linux' }}
uses: ./.github/workflows/actions/setup_linux
with:
os: ${{ matrix.os }}
extra_apt_packages: ${{ matrix.compiler.apt_package }}
- name: Install local dependencies
if: ${{ matrix.install_dependencies_manually }}
uses: ./.github/workflows/actions/install_local_dependencies
#TODO Ideally, the Setup ccache step would be part of the build action, but Github doesn't support nested actions yet, see https://github.com/actions/runner/issues/862
- name: Hash flags
id: hash_flags
shell: bash
run: |
echo __${{matrix.extra_conan_flags}}__${{matrix.extra_cxxflags}}__ | (echo -n "hash_flags=" && sha256sum | awk '{print $1}') >> $GITHUB_OUTPUT
- name: Setup ccache
uses: ./.github/workflows/actions/ccache/setup
with:
ccache_dir: ${{github.workspace}}/.ccache
cache_key: v3-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.compiler}}__${{matrix.compiler.version}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.install_dependencies_manually}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__
# TODO Ideally, the Setup conan cache step would be part of the build action, but Github doesn't support nested actions yet, see https://github.com/actions/runner/issues/862
- name: Restore conan cache
uses: ./.github/workflows/actions/conan/cache
with:
action: load
cache_key: v7-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.compiler}}__${{matrix.compiler.version}}__${{matrix.build_type}}__${{matrix.install_dependencies_manually}}__${{steps.hash_flags.outputs.hash_flags}}__
# Setup conan is after restoring the cache so the cache doesn't overwrite the conan profile
- name: Setup conan
uses: ./.github/workflows/actions/conan/setup
with:
arch: ${{ matrix.os == 'macos-14' && 'armv8' || 'x86_64' }}
compiler: ${{ matrix.compiler.compiler }}
compiler_version: ${{ matrix.compiler.version }}
compiler_libcxx: ${{ matrix.compiler.libcxx }}
compiler_executable_c: ${{ runner.os == 'macOS' && format('{0}{1}', matrix.os == 'macos-14' && '/opt/homebrew/opt/' || '/usr/local/opt/', matrix.compiler.macos_cc) || matrix.compiler.cc }}
compiler_executable_cxx: ${{ runner.os == 'macOS' && format('{0}{1}', matrix.os == 'macos-14' && '/opt/homebrew/opt/' || '/usr/local/opt/', matrix.compiler.macos_cxx) || matrix.compiler.cxx }}
build_type: ${{ matrix.build_type }}
extra_cxxflags: ${{ matrix.extra_cxxflags }}
- name: Install dependencies
if: ${{ !matrix.install_dependencies_manually }}
uses: ./.github/workflows/actions/conan/install_dependencies
- name: Build
if: ${{ matrix.run_build && !matrix.install_dependencies_manually }}
uses: ./.github/workflows/actions/conan/build
with:
extra_conan_flags: ${{ matrix.extra_conan_flags}}
- name: Build (with local dependencies)
if: ${{ matrix.run_build && matrix.install_dependencies_manually }}
shell: bash
run: |
set -v
set -e
mkdir build
mkdir build/${{matrix.build_type}}
cd build/${{matrix.build_type}}
cmake -G Ninja ../.. -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_TESTING=True -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}} -DCMAKE_C_COMPILER=${{matrix.compiler.cc}}
ninja
- name: Run clang-tidy
id: clang_tidy
if: ${{ matrix.run_clang_tidy }}
shell: bash
run: |
set -v
set -e
if ! ./run-clang-tidy.sh -fix ; then
git diff > /tmp/clang-tidy-fixes
echo Found clang tidy fixes:
cat /tmp/clang-tidy-fixes
exit 1
else
echo Did not find any clang-tidy fixes
fi
- name: Upload fixes as artifact
if: ${{ always() && matrix.run_clang_tidy }}
uses: actions/upload-artifact@v4
with:
name: clang-tidy-fixes
path: /tmp/clang-tidy-fixes
if-no-files-found: ignore
- name: Save ccache
uses: ./.github/workflows/actions/ccache/cache
with:
action: 'save'
ccache_dir: ${{github.workspace}}/.ccache
cache_key: v3-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.compiler}}__${{matrix.compiler.version}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.install_dependencies_manually}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__
secret_aws_access_key_id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
secret_aws_secret_access_key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
- name: Save conan cache
uses: ./.github/workflows/actions/conan/cache
with:
action: save
secret_aws_access_key_id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
secret_aws_secret_access_key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
cache_key: v7-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.compiler}}__${{matrix.compiler.version}}__${{matrix.build_type}}__${{matrix.install_dependencies_manually}}__${{steps.hash_flags.outputs.hash_flags}}__
- name: Test
if: ${{ matrix.run_tests }}
uses: ./.github/workflows/actions/run_tests
with:
build_type: ${{matrix.build_type}}
gtest_args: ${{matrix.gtest_args}}
extra_env_vars: ${{matrix.extra_env_vars_for_test}}
- name: CPack
if: ${{ matrix.run_cpack }}
uses: ./.github/workflows/actions/cpack
with:
build_type: ${{matrix.build_type}}
windows:
name: CI
strategy:
fail-fast: false
matrix:
name: [""]
os:
- windows-2019
- windows-2022
build_type:
- Debug
- Release
- RelWithDebInfo
runs-on: ${{matrix.os}}
env:
# Setting conan cache dir to a location where our Github Cache Action can find it
CONAN_HOME: "D:/.conan/"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch all history because we need that to determine our version number
fetch-depth: 0
#TODO Ideally, all the setup actions would be in their own subaction, but Github doesn't support using third party actions (e.g. cache) from nested actions yet, see https://github.com/actions/runner/issues/862
- name: Setup Windows
uses: ./.github/workflows/actions/setup_windows
- name: Get ccache dir
id: ccache_dir
shell: bash
run: |
# Windows CI has backwards slashes in github.workspace, so we need to convert that to forward slashes
CCACHE_DIR="${{github.workspace}}/.ccache"
echo "ccache_dir=${CCACHE_DIR//\\//}" >> $GITHUB_OUTPUT
- name: Setup ccache
uses: ./.github/workflows/actions/ccache/setup
with:
ccache_dir: ${{steps.ccache_dir.outputs.ccache_dir}}
cache_key: v2-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.build_type}}__
# TODO Ideally, the Setup conan cache step would be part of the build action, but Github doesn't support nested actions yet, see https://github.com/actions/runner/issues/862
- name: Restore conan cache
uses: ./.github/workflows/actions/conan/cache
with:
action: load
cache_key: v9-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.build_type}}__
# Setup conan is after restoring the conan cache so that the cache doesn't overwrite the conan profile
- name: Setup conan
uses: ./.github/workflows/actions/conan/setup
with:
arch: "x86_64"
compiler: "msvc"
compiler_version: ${{ matrix.os == 'windows-2022' && '194' || '192' }}
build_type: ${{ matrix.build_type }}
- name: Install dependencies
uses: ./.github/workflows/actions/conan/install_dependencies
- name: Build
uses: ./.github/workflows/actions/conan/build
with:
extra_conan_flags: "-o '&:windows_dokany_path=C:/Program Files/Dokan/DokanLibrary-2.2.0'"
- name: Save ccache
uses: ./.github/workflows/actions/ccache/cache
with:
action: 'save'
ccache_dir: ${{steps.ccache_dir.outputs.ccache_dir}}
cache_key: v2-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.build_type}}__
secret_aws_access_key_id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
secret_aws_secret_access_key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
- name: Save conan cache
uses: ./.github/workflows/actions/conan/cache
with:
action: save
secret_aws_access_key_id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
secret_aws_secret_access_key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
cache_key: v9-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.build_type}}__
- name: Test
shell: bash
run: |
set -v
set -e
cd build/${{matrix.build_type}}/test
./gitversion/gitversion-test.exe
./cpp-utils/cpp-utils-test.exe
# ./fspp/fspp-test.exe
./parallelaccessstore/parallelaccessstore-test.exe
./blockstore/blockstore-test.exe
./blobstore/blobstore-test.exe
./cryfs/cryfs-test.exe
# TODO Enable cryfs-cli-test on Windows
# ./cryfs-cli/cryfs-cli-test.exe
- name: CPack
uses: ./.github/workflows/actions/cpack
if: ${{ matrix.os == 'windows-2022' }}
with:
build_type: ${{matrix.build_type}}
0