Re-enable accidentally disabled CI jobs

This commit is contained in:
Sebastian Messmer 2021-04-26 19:26:39 -07:00
parent 89cfd363b6
commit 00e51ed1a6

View File

@ -2,401 +2,401 @@ name: CI
on: ['push', 'pull_request'] on: ['push', 'pull_request']
jobs: jobs:
# linux_macos: linux_macos:
# name: CI (Linux/macOS) name: CI (Linux/macOS)
# strategy: strategy:
# fail-fast: false fail-fast: false
# matrix: matrix:
# name: [""] name: [""]
# os: os:
# - macos-10.15 - macos-10.15
# - ubuntu-18.04 - ubuntu-18.04
# - ubuntu-20.04 - ubuntu-20.04
# compiler: compiler:
# - cxx: g++-7 - cxx: g++-7
# cc: gcc-7 cc: gcc-7
# macos_cxx: g++-7 macos_cxx: g++-7
# macos_cc: gcc-7 macos_cc: gcc-7
# homebrew_package: gcc@7 homebrew_package: gcc@7
# apt_package: g++-7 apt_package: g++-7
# - cxx: g++-8 - cxx: g++-8
# cc: gcc-8 cc: gcc-8
# macos_cxx: g++-8 macos_cxx: g++-8
# macos_cc: gcc-8 macos_cc: gcc-8
# homebrew_package: gcc@8 homebrew_package: gcc@8
# apt_package: g++-8 apt_package: g++-8
# - cxx: g++-9 - cxx: g++-9
# cc: gcc-9 cc: gcc-9
# macos_cxx: g++-9 macos_cxx: g++-9
# macos_cc: gcc-9 macos_cc: gcc-9
# apt_package: g++-9 apt_package: g++-9
# homebrew_package: gcc@9 homebrew_package: gcc@9
# # TODO gcc 10 doesn't work, potentially because cmake doesn't know yet that the STL now depends on pthread. See https://github.com/pothosware/SoapySDRPlay3/issues/5 # TODO gcc 10 doesn't work, potentially because cmake doesn't know yet that the STL now depends on pthread. See https://github.com/pothosware/SoapySDRPlay3/issues/5
# # - cxx: g++-10 # - cxx: g++-10
# # cc: gcc-10 # cc: gcc-10
# # macos_cxx: g++-10 # macos_cxx: g++-10
# # macos_cc: gcc-10 # macos_cc: gcc-10
# # apt_package: g++-10 # apt_package: g++-10
# # homebrew_package: gcc@10 # homebrew_package: gcc@10
# - cxx: clang++-7 - cxx: clang++-7
# cc: clang-7 cc: clang-7
# macos_cxx: /usr/local/opt/llvm@7/bin/clang++ macos_cxx: /usr/local/opt/llvm@7/bin/clang++
# macos_cc: /usr/local/opt/llvm@7/bin/clang macos_cc: /usr/local/opt/llvm@7/bin/clang
# apt_package: clang-7 apt_package: clang-7
# homebrew_package: llvm@7 homebrew_package: llvm@7
# - cxx: clang++-8 - cxx: clang++-8
# cc: clang-8 cc: clang-8
# macos_cxx: /usr/local/opt/llvm@8/bin/clang++ macos_cxx: /usr/local/opt/llvm@8/bin/clang++
# macos_cc: /usr/local/opt/llvm@8/bin/clang macos_cc: /usr/local/opt/llvm@8/bin/clang
# apt_package: clang-8 apt_package: clang-8
# homebrew_package: llvm@8 homebrew_package: llvm@8
# - cxx: clang++-9 - cxx: clang++-9
# cc: clang-9 cc: clang-9
# macos_cxx: /usr/local/opt/llvm@9/bin/clang++ macos_cxx: /usr/local/opt/llvm@9/bin/clang++
# macos_cc: /usr/local/opt/llvm@9/bin/clang macos_cc: /usr/local/opt/llvm@9/bin/clang
# apt_package: clang-9 apt_package: clang-9
# homebrew_package: llvm@9 homebrew_package: llvm@9
# # TODO Clang-10 on linux? macos homebrew doesn't seem to have it # TODO Clang-10 on linux? macos homebrew doesn't seem to have it
# - cxx: clang++-11 - cxx: clang++-11
# cc: clang-11 cc: clang-11
# macos_cxx: /usr/local/opt/llvm@11/bin/clang++ macos_cxx: /usr/local/opt/llvm@11/bin/clang++
# macos_cc: /usr/local/opt/llvm@11/bin/clang macos_cc: /usr/local/opt/llvm@11/bin/clang
# apt_package: clang-11 apt_package: clang-11
# homebrew_package: llvm@11 homebrew_package: llvm@11
# # Apple Clang # Apple Clang
# # - cxx: clang++ # - cxx: clang++
# # cc: clang # cc: clang
# # homebrew_package: "" # homebrew_package: ""
# build_type: build_type:
# - Debug - Debug
# - Release - Release
# - RelWithDebInfo - RelWithDebInfo
# extra_cmake_flags: [""] extra_cmake_flags: [""]
# extra_cxxflags: [""] extra_cxxflags: [""]
# extra_env_vars_for_test: [""] extra_env_vars_for_test: [""]
# install_dependencies_manually: [false] install_dependencies_manually: [false]
# run_build: [true] run_build: [true]
# run_tests: [true] run_tests: [true]
# run_clang_tidy: [false] run_clang_tidy: [false]
# include: include:
# - name: Local dependencies - name: Local dependencies
# os: ubuntu-18.04 os: ubuntu-18.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang-11 apt_package: clang-11
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: -DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake extra_cmake_flags: -DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake
# extra_cxxflags: "" extra_cxxflags: ""
# extra_env_vars_for_test: "" extra_env_vars_for_test: ""
# install_dependencies_manually: true install_dependencies_manually: true
# run_build: true run_build: true
# run_tests: true run_tests: true
# - name: Local dependencies - name: Local dependencies
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang-11 apt_package: clang-11
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: -DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake extra_cmake_flags: -DDEPENDENCY_CONFIG=../cmake-utils/DependenciesFromLocalSystem.cmake
# extra_cxxflags: "" extra_cxxflags: ""
# extra_env_vars_for_test: "" extra_env_vars_for_test: ""
# install_dependencies_manually: true install_dependencies_manually: true
# run_build: true run_build: true
# run_tests: true run_tests: true
# - name: Werror gcc - name: Werror gcc
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: g++-9 cxx: g++-9
# cc: gcc-9 cc: gcc-9
# apt_package: g++-9 apt_package: g++-9
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: -DUSE_WERROR=on extra_cmake_flags: -DUSE_WERROR=on
# extra_cxxflags: "" extra_cxxflags: ""
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: false run_tests: false
# - name: Werror clang - name: Werror clang
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 apt_package: clang++-11
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: -DUSE_WERROR=on extra_cmake_flags: -DUSE_WERROR=on
# extra_cxxflags: "" extra_cxxflags: ""
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: false run_tests: false
# - name: No compatibility - name: No compatibility
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 apt_package: clang++-11
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: "" extra_cmake_flags: ""
# extra_cxxflags: "-DCRYFS_NO_COMPATIBILITY" extra_cxxflags: "-DCRYFS_NO_COMPATIBILITY"
# extra_env_vars_for_test: "" extra_env_vars_for_test: ""
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: true run_tests: true
# - name: ASAN - name: ASAN
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 apt_package: clang++-11
# build_type: Debug build_type: Debug
# # OpenMP crashes under asan. Disable OpenMP. # OpenMP crashes under asan. Disable OpenMP.
# # TODO is it enough to replace this with omp_num_threads: 1 ? # TODO is it enough to replace this with omp_num_threads: 1 ?
# extra_cmake_flags: "-DDISABLE_OPENMP=ON" extra_cmake_flags: "-DDISABLE_OPENMP=ON"
# extra_cxxflags: "-O1 -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common -fsanitize-address-use-after-scope" 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" 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 install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: true run_tests: true
# - name: UBSAN - name: UBSAN
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 apt_package: clang++-11
# build_type: Debug build_type: Debug
# # OpenMP crashes under ubsan. Disable OpenMP. # OpenMP crashes under ubsan. Disable OpenMP.
# # TODO is it enough to replace this with omp_num_threads: 1 ? # TODO is it enough to replace this with omp_num_threads: 1 ?
# extra_cmake_flags: "-DDISABLE_OPENMP=ON" extra_cmake_flags: "-DDISABLE_OPENMP=ON"
# 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_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" extra_env_vars_for_test: UBSAN_OPTIONS="print_stacktrace=1"
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: true run_tests: true
# - name: TSAN - name: TSAN
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 apt_package: clang++-11
# build_type: Debug build_type: Debug
# extra_cmake_flags: "" extra_cmake_flags: ""
# extra_cxxflags: "-O2 -fsanitize=thread -fno-omit-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common" extra_cxxflags: "-O2 -fsanitize=thread -fno-omit-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common"
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: true run_build: true
# run_tests: true run_tests: true
# gtest_args: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*:SignalCatcherTest.*_thenDies:SignalHandlerTest.*_thenDies:SignalHandlerTest.givenMultipleSigIntHandlers_whenRaising_thenCatchesCorrectSignal:CliTest_Setup.*:CliTest_IntegrityCheck.*:*/CliTest_WrongEnvironment.*:CliTest_Unmount.*:CliTest.WorksWithCommasInBasedir" gtest_args: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*: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 extra_env_vars_for_test: OMP_NUM_THREADS=1
# - name: clang-tidy - name: clang-tidy
# os: ubuntu-20.04 os: ubuntu-20.04
# compiler: compiler:
# cxx: clang++-11 cxx: clang++-11
# cc: clang-11 cc: clang-11
# apt_package: clang++-11 clang-tidy-11 apt_package: clang++-11 clang-tidy-11
# build_type: RelWithDebInfo build_type: RelWithDebInfo
# extra_cmake_flags: "" extra_cmake_flags: ""
# extra_cxxflags: "" extra_cxxflags: ""
# install_dependencies_manually: false install_dependencies_manually: false
# run_build: false run_build: false
# run_tests: false run_tests: false
# extra_env_vars_for_test: "" extra_env_vars_for_test: ""
# run_clang_tidy: true run_clang_tidy: true
# runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
# env: env:
# # Setting conan cache dir to a location where our Github Cache Action can find it # Setting conan cache dir to a location where our Github Cache Action can find it
# CONAN_USER_HOME: "${{ github.workspace }}/conan-cache/" CONAN_USER_HOME: "${{ github.workspace }}/conan-cache/"
# steps: steps:
# - name: Checkout - name: Checkout
# uses: actions/checkout@v1 uses: actions/checkout@v1
# #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 #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 - name: Setup MacOS
# if: ${{ runner.os == 'macOS' }} if: ${{ runner.os == 'macOS' }}
# uses: ./.github/workflows/actions/setup_macos uses: ./.github/workflows/actions/setup_macos
# with: with:
# extra_homebrew_packages: ${{ matrix.compiler.homebrew_package }} extra_homebrew_packages: ${{ matrix.compiler.homebrew_package }}
# - name: Setup Linux - name: Setup Linux
# if: ${{ runner.os == 'Linux' }} if: ${{ runner.os == 'Linux' }}
# uses: ./.github/workflows/actions/setup_linux uses: ./.github/workflows/actions/setup_linux
# with: with:
# os: ${{ matrix.os }} os: ${{ matrix.os }}
# extra_apt_packages: ${{ matrix.compiler.apt_package }} extra_apt_packages: ${{ matrix.compiler.apt_package }}
# - name: Install local dependencies - name: Install local dependencies
# if: ${{ matrix.install_dependencies_manually }} if: ${{ matrix.install_dependencies_manually }}
# uses: ./.github/workflows/actions/install_local_dependencies uses: ./.github/workflows/actions/install_local_dependencies
# - name: Find pip cache location - name: Find pip cache location
# id: pip_cache_dir id: pip_cache_dir
# run: | run: |
# # We need at least pip 20.1 to get the "pip cache dir" command. Ubuntu doesn't have pip 20.1 by default yet, let's upgrade it # We need at least pip 20.1 to get the "pip cache dir" command. Ubuntu doesn't have pip 20.1 by default yet, let's upgrade it
# python3 -m pip install -U pip python3 -m pip install -U pip
# python3 -m pip --version python3 -m pip --version
# echo "::set-output name=pip_cache_dir::$(python3 -m pip cache dir)" echo "::set-output name=pip_cache_dir::$(python3 -m pip cache dir)"
# shell: bash shell: bash
# - name: Retrieve pip cache - name: Retrieve pip cache
# # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run. # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run.
# continue-on-error: true continue-on-error: true
# # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: get action: get
# # note: this access key has read-only access to the cache. It's public so it runs on PRs. # note: this access key has read-only access to the cache. It's public so it runs on PRs.
# aws-access-key-id: AKIAV5S2KH4F5OUZXV5E aws-access-key-id: AKIAV5S2KH4F5OUZXV5E
# aws-secret-access-key: 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 aws-secret-access-key: qqqE8j/73w2EEJ984rVvxbDzdvnL93hk3X5ba1ac
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-setup-pip key: v0-${{ runner.os }}-${{ matrix.os }}-setup-pip
# - name: Install Conan - name: Install Conan
# shell: bash shell: bash
# run: | run: |
# # Using "python3 -m pip" instead of "pip3" to make sure we get the same pip that we queried the cache dir for the Github Cache action # Using "python3 -m pip" instead of "pip3" to make sure we get the same pip that we queried the cache dir for the Github Cache action
# if [[ "${{matrix.os}}" == "ubuntu-18.04" ]]; then if [[ "${{matrix.os}}" == "ubuntu-18.04" ]]; then
# python3 -m pip install setuptools python3 -m pip install setuptools
# fi fi
# python3 -m pip install conan python3 -m pip install conan
# - name: Save pip cache - name: Save pip cache
# # note: this access key has write access to the cache. This can't run on PRs. # note: this access key has write access to the cache. This can't run on PRs.
# if: ${{github.event_name == 'push' }} if: ${{github.event_name == 'push' }}
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: put action: put
# aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-setup-pip key: v0-${{ runner.os }}-${{ matrix.os }}-setup-pip
# artifacts: ${{ steps.pip_cache_dir.outputs.pip_cache_dir }} artifacts: ${{ steps.pip_cache_dir.outputs.pip_cache_dir }}
# #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 #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: Configure ccache - name: Configure ccache
# shell: bash shell: bash
# run: | run: |
# set -v set -v
# ccache --set-config=compiler_check=content ccache --set-config=compiler_check=content
# ccache --set-config=max_size=500M ccache --set-config=max_size=500M
# ccache --set-config=cache_dir=${{github.workspace}}/.ccache ccache --set-config=cache_dir=${{github.workspace}}/.ccache
# ccache --set-config=compression=true ccache --set-config=compression=true
# ccache --set-config=sloppiness=include_file_mtime,include_file_ctime ccache --set-config=sloppiness=include_file_mtime,include_file_ctime
# echo CCache config: echo CCache config:
# ccache -p ccache -p
# echo Clearing ccache statistics echo Clearing ccache statistics
# ccache -z ccache -z
# - name: Hash flags - name: Hash flags
# id: hash_flags id: hash_flags
# run: | run: |
# # Write it into file first so we fail if the command fails. Errors inside $() are ignored by bash unfortunately. # Write it into file first so we fail if the command fails. Errors inside $() are ignored by bash unfortunately.
# echo __${{matrix.extra_cmake_flags}}__${{matrix.extra_cxxflags}}__ | md5sum > /tmp/hash_flags echo __${{matrix.extra_cmake_flags}}__${{matrix.extra_cxxflags}}__ | md5sum > /tmp/hash_flags
# echo "::set-output name=hash_flags::$(cat /tmp/hash_flags)" echo "::set-output name=hash_flags::$(cat /tmp/hash_flags)"
# rm /tmp/hash_flags rm /tmp/hash_flags
# shell: bash shell: bash
# - name: Retrieve ccache cache - name: Retrieve ccache cache
# # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run. # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run.
# continue-on-error: true continue-on-error: true
# # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: get action: get
# # note: this access key has read-only access to the cache. It's public so it runs on PRs. # note: this access key has read-only access to the cache. It's public so it runs on PRs.
# aws-access-key-id: AKIAV5S2KH4F5OUZXV5E aws-access-key-id: AKIAV5S2KH4F5OUZXV5E
# aws-secret-access-key: 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 aws-secret-access-key: qqqE8j/73w2EEJ984rVvxbDzdvnL93hk3X5ba1ac
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__ key: v0-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__
# - name: Show ccache statistics - name: Show ccache statistics
# shell: bash shell: bash
# run: | run: |
# set -v set -v
# ccache -s ccache -s
# # 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 # 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: Retrieve conan cache - name: Retrieve conan cache
# # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run. # Many jobs access the cache in parallel an we might observe an incomplete state that isn't valid. This would fail with a checksum error. Let's not fail the CI job but continue it, later on this job will upload a new new cache as part of the regular job run.
# continue-on-error: true continue-on-error: true
# # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more # We're using an S3 based cache because the standard GitHub Action cache (actions/cache) only gives us 5GB of storage and we need more
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: get action: get
# # note: this access key has read-only access to the cache. It's public so it runs on PRs. # note: this access key has read-only access to the cache. It's public so it runs on PRs.
# aws-access-key-id: AKIAV5S2KH4F5OUZXV5E aws-access-key-id: AKIAV5S2KH4F5OUZXV5E
# aws-secret-access-key: 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 aws-secret-access-key: qqqE8j/73w2EEJ984rVvxbDzdvnL93hk3X5ba1ac
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__ key: v0-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__
# - name: Build (macOS) - name: Build (macOS)
# if: ${{ matrix.run_build && runner.os == 'macOS' }} if: ${{ matrix.run_build && runner.os == 'macOS' }}
# uses: ./.github/workflows/actions/run_build uses: ./.github/workflows/actions/run_build
# with: with:
# cxx: ${{ matrix.compiler.macos_cxx }} cxx: ${{ matrix.compiler.macos_cxx }}
# cc: ${{ matrix.compiler.macos_cc }} cc: ${{ matrix.compiler.macos_cc }}
# build_type: ${{ matrix.build_type }} build_type: ${{ matrix.build_type }}
# - name: Build (Linux) - name: Build (Linux)
# if: ${{ matrix.run_build && runner.os == 'Linux' }} if: ${{ matrix.run_build && runner.os == 'Linux' }}
# uses: ./.github/workflows/actions/run_build uses: ./.github/workflows/actions/run_build
# with: with:
# cxx: ${{ matrix.compiler.cxx }} cxx: ${{ matrix.compiler.cxx }}
# cc: ${{ matrix.compiler.cc }} cc: ${{ matrix.compiler.cc }}
# build_type: ${{ matrix.build_type }} build_type: ${{ matrix.build_type }}
# extra_cmake_flags: ${{ matrix.extra_cmake_flags }} extra_cmake_flags: ${{ matrix.extra_cmake_flags }}
# extra_cxxflags: ${{ matrix.extra_cxxflags }} extra_cxxflags: ${{ matrix.extra_cxxflags }}
# - name: Run clang-tidy - name: Run clang-tidy
# id: clang_tidy id: clang_tidy
# if: ${{ matrix.run_clang_tidy }} if: ${{ matrix.run_clang_tidy }}
# shell: bash shell: bash
# run: | run: |
# set -v set -v
# mkdir cmake mkdir cmake
# cd cmake cd cmake
# if ! ../run-clang-tidy.sh -fix ; then if ! ../run-clang-tidy.sh -fix ; then
# git diff > /tmp/clang-tidy-fixes git diff > /tmp/clang-tidy-fixes
# echo Found clang tidy fixes: echo Found clang tidy fixes:
# cat /tmp/clang-tidy-fixes cat /tmp/clang-tidy-fixes
# exit 1 exit 1
# else else
# echo Did not find any clang-tidy fixes echo Did not find any clang-tidy fixes
# fi fi
# - name: Upload fixes as artifact - name: Upload fixes as artifact
# if: ${{ always() && matrix.run_clang_tidy }} if: ${{ always() && matrix.run_clang_tidy }}
# uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
# with: with:
# name: clang-tidy-fixes name: clang-tidy-fixes
# path: /tmp/clang-tidy-fixes path: /tmp/clang-tidy-fixes
# - name: Show ccache statistics - name: Show ccache statistics
# shell: bash shell: bash
# run: | run: |
# set -v set -v
# ccache -s ccache -s
# - name: Reduce ccache size - name: Reduce ccache size
# if: ${{ runner.os == 'macOS' }} if: ${{ runner.os == 'macOS' }}
# shell: bash shell: bash
# run: | run: |
# set -v set -v
# ccache --evict-older-than 7d ccache --evict-older-than 7d
# ccache -s ccache -s
# - name: Save ccache cache - name: Save ccache cache
# # note: this access key has write access to the cache. This can't run on PRs. # note: this access key has write access to the cache. This can't run on PRs.
# if: ${{ github.event_name == 'push' }} if: ${{ github.event_name == 'push' }}
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: put action: put
# aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__ key: v0-${{ runner.os }}-${{ matrix.os }}-ccache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__${{matrix.run_build}}__${{matrix.run_clang_tidy}}__${{steps.hash_flags.outputs.hash_flags}}__
# artifacts: ${{ github.workspace }}/.ccache artifacts: ${{ github.workspace }}/.ccache
# - name: Save conan cache - name: Save conan cache
# # note: this access key has write access to the cache. This can't run on PRs. # note: this access key has write access to the cache. This can't run on PRs.
# if: ${{ github.event_name == 'push' }} if: ${{ github.event_name == 'push' }}
# uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5 uses: leroy-merlin-br/action-s3-cache@8d75079437b388688b9ea9c7d73dff4ef975c5fa # v1.0.5
# with: with:
# action: put action: put
# aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }} aws-access-key-id: ${{ secrets.CACHE_AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.CACHE_AWS_SECRET_ACCESS_KEY }}
# aws-region: eu-west-1 aws-region: eu-west-1
# bucket: ci-cache.cryfs bucket: ci-cache.cryfs
# key: v0-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__ key: v0-${{ runner.os }}-${{ matrix.os }}-conancache__${{matrix.compiler.cxx}}__${{matrix.compiler.cc}}__${{matrix.build_type}}__
# artifacts: ${{ env.CONAN_USER_HOME }} artifacts: ${{ env.CONAN_USER_HOME }}
# - name: Test - name: Test
# if: ${{ matrix.run_tests }} if: ${{ matrix.run_tests }}
# uses: ./.github/workflows/actions/run_tests uses: ./.github/workflows/actions/run_tests
# with: with:
# gtest_args: ${{matrix.gtest_args}} gtest_args: ${{matrix.gtest_args}}
# extra_env_vars: ${{matrix.extra_env_vars_for_test}} extra_env_vars: ${{matrix.extra_env_vars_for_test}}
windows: windows:
name: CI (Windows) name: CI (Windows)