# I don't know what the minimum size is, but we cannot build on t3.micro. # TODO: Factor common builds between different tests. # The parameters for our job matrix: # # 1. Generator (Make, Ninja, MSBuild) # 2. Compiler (GCC, Clang, MSVC) # 3. Build type (Debug, Release) # 4. Definitions (-Dunity=OFF, -Dassert=ON, ...) .job_linux_build_test: only: variables: - $CI_PROJECT_URL =~ /^https?:\/\/gitlab.com\// stage: build tags: - linux - c5.2xlarge image: thejohnfreeman/rippled-build-ubuntu:4b73694e07f0 script: - bin/ci/build.sh - bin/ci/test.sh cache: # Use a different key for each unique combination of (generator, compiler, # build type). Caches are stored as `.zip` files; they are not merged. # Generate a new key whenever you want to bust the cache, e.g. when the # dependency versions have been bumped. # By default, jobs pull the cache. Only a few specially chosen jobs update # the cache (with policy `pull-push`); one for each unique combination of # (generator, compiler, build type). policy: pull paths: - .nih_c/ 'build+test Make GCC Debug': extends: .job_linux_build_test variables: GENERATOR: Unix Makefiles COMPILER: gcc BUILD_TYPE: Debug cache: key: 62ada41c-fc9e-4949-9533-736d4d6512b6 policy: pull-push 'build+test Ninja GCC Debug': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Debug cache: key: 1665d3eb-6233-4eef-9f57-172636899faa policy: pull-push 'build+test Ninja GCC Debug -Dstatic=OFF': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Debug CMAKE_ARGS: '-Dstatic=OFF' cache: key: 1665d3eb-6233-4eef-9f57-172636899faa 'build+test Ninja GCC Debug -Dstatic=OFF -DBUILD_SHARED_LIBS=ON': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Debug CMAKE_ARGS: '-Dstatic=OFF -DBUILD_SHARED_LIBS=ON' cache: key: 1665d3eb-6233-4eef-9f57-172636899faa 'build+test Ninja GCC Debug -Dunity=OFF': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Debug CMAKE_ARGS: '-Dunity=OFF' cache: key: 1665d3eb-6233-4eef-9f57-172636899faa 'build+test Ninja GCC Release -Dassert=ON': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Release CMAKE_ARGS: '-Dassert=ON' cache: key: c45ec125-9625-4c19-acf7-4e889d5f90bd policy: pull-push 'build+test(manual) Ninja GCC Release -Dassert=ON': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: gcc BUILD_TYPE: Release CMAKE_ARGS: '-Dassert=ON' MANUAL_TEST: 'true' cache: key: c45ec125-9625-4c19-acf7-4e889d5f90bd 'build+test Make clang Debug': extends: .job_linux_build_test variables: GENERATOR: Unix Makefiles COMPILER: clang BUILD_TYPE: Debug cache: key: bf578dc2-5277-4580-8de5-6b9523118b19 policy: pull-push 'build+test Ninja clang Debug': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: clang BUILD_TYPE: Debug cache: key: 762514c5-3d4c-4c7c-8da2-2df9d8839cbe policy: pull-push 'build+test Ninja clang Debug -Dunity=OFF': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: clang BUILD_TYPE: Debug CMAKE_ARGS: '-Dunity=OFF' cache: key: 762514c5-3d4c-4c7c-8da2-2df9d8839cbe 'build+test Ninja clang Debug -Dunity=OFF -Dsan=address': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: clang BUILD_TYPE: Debug CMAKE_ARGS: '-Dunity=OFF -Dsan=address' CONCURRENT_TESTS: 1 cache: key: 762514c5-3d4c-4c7c-8da2-2df9d8839cbe 'build+test Ninja clang Debug -Dunity=OFF -Dsan=undefined': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: clang BUILD_TYPE: Debug CMAKE_ARGS: '-Dunity=OFF -Dsan=undefined' cache: key: 762514c5-3d4c-4c7c-8da2-2df9d8839cbe 'build+test Ninja clang Release -Dassert=ON': extends: .job_linux_build_test variables: GENERATOR: Ninja COMPILER: clang BUILD_TYPE: Release CMAKE_ARGS: '-Dassert=ON' cache: key: 7751be37-2358-4f08-b1d0-7e72e0ad266d policy: pull-push