.job-push: &job-push
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies: []

.job-always: &job-always
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies: []

clang-tidy:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/clang_tidy.sh
  <<: *job-push
  variables:
    PACKAGES: clang clang-tidy 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git
    FLAGS: "-readability-implicit-bool-cast,-clang-analyzer-optin.cplusplus.VirtualCall,-performance-unnecessary-value-param,-misc-unused-parameters,-modernize-use-default,-clang-analyzer-alpha.deadcode.UnreachableCode,-clang-analyzer-alpha.cplusplus.VirtualCall,-clang-analyzer-alpha.unix.Stream,-clang-analyzer-alpha.security.taint.TaintPropagation,-clang-analyzer-alpha.core.CastToStruct,-clang-analyzer-alpha.core.BoolAssignment,-fuchsia-default-arguments,-hicpp-use-auto,-hicpp-braces-around-statements,-hicpp-vararg,-cppcoreguidelines-owning-memor,-fuchsia-overloaded-operator,-hicpp-signed-bitwise,-cppcoreguidelines-owning-memory,-hicpp-no-array-decay,-hicpp-use-emplace,-hicpp-no-malloc,-android-cloexec-fopen,-bugprone-integer-division,-readability-implicit-bool-conversion"
    DFLAGS: "-DENABLE_LIBXML -DTMWA_SUPPORT -DDEBUGBUILD"
    INCLUDES: "-I/usr/include -I/usr/include/SDL -I/usr/include/libxml2"
  tags:
    - docker

clang-tidy_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang_tidy.sh
  <<: *job-push
  variables:
    PACKAGES: clang clang-tidy 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git
    FLAGS: "-readability-implicit-bool-cast,-clang-analyzer-optin.cplusplus.VirtualCall,-performance-unnecessary-value-param,-misc-unused-parameters,-modernize-use-default,-clang-analyzer-alpha.deadcode.UnreachableCode,-clang-analyzer-alpha.cplusplus.VirtualCall,-clang-analyzer-alpha.unix.Stream,-clang-analyzer-alpha.security.taint.TaintPropagation,-clang-analyzer-alpha.core.CastToStruct,-clang-analyzer-alpha.core.BoolAssignment,-fuchsia-default-arguments,-hicpp-use-auto,-hicpp-braces-around-statements,-hicpp-vararg,-cppcoreguidelines-owning-memor,-fuchsia-overloaded-operator,-hicpp-signed-bitwise,-cppcoreguidelines-owning-memory,-hicpp-no-array-decay,-hicpp-use-emplace,-hicpp-no-malloc,-android-cloexec-fopen,-bugprone-integer-division,-readability-implicit-bool-conversion,-cppcoreguidelines-pro-type-cstyle-cast"
    DFLAGS: "-DENABLE_LIBXML -DTMWA_SUPPORT -DDEBUGBUILD -DUSE_SDL2"
    INCLUDES: "-I/usr/include -I/usr/include/SDL2 -I/usr/include/libxml2"
  tags:
    - docker
