Blame .gitlab-ci.yml

Packit 6c0a39
variables:
Packit 6c0a39
  BUILD_IMAGES_PROJECT: libssh/build-images
Packit 6c0a39
  FEDORA_BUILD: buildenv-fedora
Packit 6c0a39
  CENTOS7_BUILD: buildenv-centos7
Packit 6c0a39
  TUMBLEWEED_BUILD: buildenv-tumbleweed
Packit 6c0a39
  MINGW_BUILD: buildenv-mingw
Packit 6c0a39
  DEBIAN_CROSS_BUILD: buildenv-debian-cross
Packit 6c0a39
Packit 6c0a39
# pkd tests fail on CentOS7 docker images, so we don't use -DSERVER_TESTING=ON
Packit 6c0a39
centos7/openssl_1.0.x/x86_64:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake3
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/openssl_1.1.x/x86_64:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_BLOWFISH_CIPHER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/openssl_1.1.x/x86_64/fips:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - echo 1 > /etc/system-fips
Packit 6c0a39
  - update-crypto-policies --set FIPS
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_BLOWFISH_CIPHER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DWITH_DEBUG_CRYPTO=ON -DWITH_DEBUG_PACKET=ON -DWITH_DEBUG_CALLTRACE=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && OPENSSL_FORCE_FIPS_MODE=1 ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/openssl_1.1.x/x86_64/minimal:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=OFF -DWITH_SERVER=OFF -DWITH_ZLIB=OFF -DWITH_PCAP=OFF
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DWITH_GEX=OFF .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
# Address sanitizer doesn't mix well with LD_PRELOAD used in the testsuite
Packit 6c0a39
# so, this is only enabled for unit tests right now.
Packit 6c0a39
# TODO: add -DCLIENT_TESTING=ON -DSERVER_TESTING=ON
Packit 6c0a39
fedora/address-sanitizer:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=AddressSanitizer
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
# This is disabled as it report OpenSSL issues
Packit 6c0a39
# It also has ethe same issues with cwrap as AddressSanitizer
Packit 6c0a39
.fedora/memory-sanitizer:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=MemorySanitizer
Packit 6c0a39
    -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON ..
Packit 6c0a39
    && make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/undefined-sanitizer:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=UndefinedSanitizer
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON ..
Packit 6c0a39
    && make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/csbuild:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - |
Packit 6c0a39
    if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
Packit 6c0a39
        export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
Packit 6c0a39
    fi
Packit 6c0a39
Packit 6c0a39
    # Check if the commit exists in this branch
Packit 6c0a39
    # This is not the case for a force push
Packit 6c0a39
    git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~20")
Packit 6c0a39
Packit 6c0a39
    export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
Packit 6c0a39
Packit 6c0a39
  - csbuild
Packit 6c0a39
    --build-dir=obj-csbuild
Packit 6c0a39
    --prep-cmd="rm -rf CMakeFiles CMakeCache.txt && cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON -DFUZZ_TESTING=ON @SRCDIR@"
Packit 6c0a39
    --build-cmd "make clean && make -j$(nproc)"
Packit 6c0a39
    --git-commit-range $CI_COMMIT_RANGE
Packit 6c0a39
    --color
Packit 6c0a39
    --print-current --print-fixed
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj-csbuild/
Packit 6c0a39
Packit 6c0a39
# That is a specific runner that we cannot enable universally.
Packit 6c0a39
# We restrict it to builds under the $BUILD_IMAGES_PROJECT project.
Packit 6c0a39
freebsd/x86_64:
Packit 6c0a39
  image:
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - freebsd
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  only:
Packit 6c0a39
  - branches@libssh/libssh-mirror
Packit 6c0a39
  - branches@cryptomilk/libssh-mirror
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/libgcrypt/x86_64:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON
Packit 6c0a39
    -DWITH_GCRYPT=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
fedora/mbedtls/x86_64:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON
Packit 6c0a39
    -DWITH_MBEDTLS=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
# Unit testing only, no client and pkd testing, because cwrap is not available
Packit 6c0a39
# for MinGW
Packit 6c0a39
fedora/mingw64:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - export WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin
Packit 6c0a39
  - export WINEDEBUG=-all
Packit 6c0a39
  - mkdir -p obj && cd obj && mingw64-cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) &&
Packit 6c0a39
    ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
# Unit testing only, no client and pkd testing, because cwrap is not available
Packit 6c0a39
# for MinGW
Packit 6c0a39
fedora/mingw32:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - export WINEPATH=/usr/i686-w64-mingw32/sys-root/mingw/bin
Packit 6c0a39
  - export WINEDEBUG=-all
Packit 6c0a39
  - mkdir -p obj && cd obj && mingw32-cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) &&
Packit 6c0a39
    ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
.Debian.cross.template: &Debian_cross_template
Packit 6c0a39
  stage: test
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
Packit 6c0a39
  - host="${CI_JOB_NAME#*.cross.}"
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_C_COMPILER="$(which $host-gcc)"
Packit 6c0a39
    -DCMAKE_CXX_COMPILER="$(which $host-g++)"
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DUNIT_TESTING=ON -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON
Packit 6c0a39
    -DWITH_PCAP=ON .. &&
Packit 6c0a39
    make -j$(nproc) &&
Packit 6c0a39
    ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
.Debian.cross.mips-linux-gnu:
Packit 6c0a39
  <<: *Debian_cross_template
Packit 6c0a39
Packit 6c0a39
tumbleweed/openssl_1.1.x/x86_64/gcc:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DKRB5_CONFIG=/usr/lib/mit/bin/krb5-config
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/openssl_1.1.x/x86/gcc:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-m32.cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/openssl_1.1.x/x86_64/gcc7:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DKRB5_CONFIG=/usr/lib/mit/bin/krb5-config
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/openssl_1.1.x/x86/gcc7:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-m32.cmake
Packit 6c0a39
    -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/openssl_1.1.x/x86_64/clang:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=RelWithDebInfo
Packit 6c0a39
    -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DKRB5_CONFIG=/usr/lib/mit/bin/krb5-config
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/docs:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake .. && make docs
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/undefined-sanitizer:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - mkdir -p obj && cd obj && cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=UndefinedSanitizer
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    make -j$(nproc) && ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
tumbleweed/static-analysis:
Packit 6c0a39
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
Packit 6c0a39
  script:
Packit 6c0a39
  - export CCC_CC=clang
Packit 6c0a39
  - export CCC_CXX=clang++
Packit 6c0a39
  - mkdir -p obj && cd obj && scan-build cmake
Packit 6c0a39
    -DCMAKE_BUILD_TYPE=Debug
Packit 6c0a39
    -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
Packit 6c0a39
    -DPICKY_DEVELOPER=ON
Packit 6c0a39
    -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
    -DUNIT_TESTING=ON -DCLIENT_TESTING=ON -DSERVER_TESTING=ON .. &&
Packit 6c0a39
    scan-build --status-bugs -o scan make -j$(nproc)
Packit 6c0a39
  tags:
Packit 6c0a39
  - shared
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/scan
Packit 6c0a39
Packit 6c0a39
visualstudio/x86_64:
Packit 6c0a39
  script:
Packit 6c0a39
  - $env:VCPKG_DEFAULT_TRIPLET="x64-windows"
Packit 6c0a39
  - cd obj
Packit 6c0a39
  - cmake
Packit 6c0a39
      -A x64
Packit 6c0a39
      -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_TOOLCHAIN_FILE"
Packit 6c0a39
      -DPICKY_DEVELOPER=ON
Packit 6c0a39
      -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
      -DUNIT_TESTING=ON ..
Packit 6c0a39
  - cmake --build .
Packit 6c0a39
  - ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - vs2017
Packit 6c0a39
  - windows
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  only:
Packit 6c0a39
  - branches@libssh/libssh-mirror
Packit 6c0a39
  - branches@ansasaki/libssh-mirror
Packit 6c0a39
  - branches@cryptomilk/libssh-mirror
Packit 6c0a39
  - branches@jjelen/libssh-mirror
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/
Packit 6c0a39
Packit 6c0a39
visualstudio/x86:
Packit 6c0a39
  script:
Packit 6c0a39
  - $env:VCPKG_DEFAULT_TRIPLET="x86-windows"
Packit 6c0a39
  - cd obj
Packit 6c0a39
  - cmake
Packit 6c0a39
      -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_TOOLCHAIN_FILE"
Packit 6c0a39
      -DPICKY_DEVELOPER=ON
Packit 6c0a39
      -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON -DWITH_PCAP=ON
Packit 6c0a39
      -DUNIT_TESTING=ON ..
Packit 6c0a39
  - cmake --build .
Packit 6c0a39
  - ctest --output-on-failure
Packit 6c0a39
  tags:
Packit 6c0a39
  - vs2017
Packit 6c0a39
  - windows
Packit 6c0a39
  except:
Packit 6c0a39
  - tags
Packit 6c0a39
  only:
Packit 6c0a39
  - branches@libssh/libssh-mirror
Packit 6c0a39
  - branches@ansasaki/libssh-mirror
Packit 6c0a39
  - branches@cryptomilk/libssh-mirror
Packit 6c0a39
  - branches@jjelen/libssh-mirror
Packit 6c0a39
  artifacts:
Packit 6c0a39
    expire_in: 1 week
Packit 6c0a39
    when: on_failure
Packit 6c0a39
    paths:
Packit 6c0a39
      - obj/