.gitlab-ci.yml 3.12 KiB
Newer Older
Alberto Miranda's avatar
Alberto Miranda committed
# This file is a template, and might need editing before it works on your project.
# use the official gcc image, based on debian
# can use verions as well, like gcc:5.2
# see https://hub.docker.com/_/gcc/

Alberto Miranda's avatar
Alberto Miranda committed
stages:
    - build
    - test

Alberto Miranda's avatar
Alberto Miranda committed
build:ubuntu_latest:
    image: ubuntu:latest
Alberto Miranda's avatar
Alberto Miranda committed

    # Install dependencies
Alberto Miranda's avatar
Alberto Miranda committed
    before_script:
Alberto Miranda's avatar
Alberto Miranda committed
        - apt-get update &&
          apt-get upgrade -y &&
Alberto Miranda's avatar
Alberto Miranda committed
          apt-get install -y
Alberto Miranda's avatar
Alberto Miranda committed
            build-essential
            autotools-dev
            automake
            autoconf
            libtool
Alberto Miranda's avatar
Alberto Miranda committed
            pkg-config
Alberto Miranda's avatar
Alberto Miranda committed
            libboost-system-dev
            libboost-filesystem-dev
            libboost-program-options-dev
            libboost-thread-dev
Alberto Miranda's avatar
Alberto Miranda committed
            libboost-regex-dev
Alberto Miranda's avatar
Alberto Miranda committed
            libprotobuf-dev
Alberto Miranda's avatar
Alberto Miranda committed
            protobuf-compiler
Alberto Miranda's avatar
Alberto Miranda committed
            libprotobuf-c-dev
            protobuf-c-compiler
Alberto Miranda's avatar
Alberto Miranda committed
            libyaml-cpp-dev
            libyaml-dev
Alberto Miranda's avatar
Alberto Miranda committed
            valgrind
Alberto Miranda's avatar
Alberto Miranda committed
          
Alberto Miranda's avatar
Alberto Miranda committed
    # Build and test
Alberto Miranda's avatar
Alberto Miranda committed
    script:
Alberto Miranda's avatar
Alberto Miranda committed
        - ./bootstrap.sh
Alberto Miranda's avatar
Alberto Miranda committed
        - mkdir build && cd build
Alberto Miranda's avatar
Alberto Miranda committed
        - ../configure 
            --enable-tests 
Alberto Miranda's avatar
Alberto Miranda committed
#            CFLAGS="-fsanitize=address"
#            CXXFLAGS="-fsanitize=address"
#            LDFLAGS="-fsanitize=address"
#            CPPFLAGS="-D__LOGGER_ENABLE_DEBUG__"
Alberto Miranda's avatar
Alberto Miranda committed
        - make -j4
Alberto Miranda's avatar
Alberto Miranda committed
        - cd tests
        - make -j4 api
Alberto Miranda's avatar
Alberto Miranda committed
        - whoami
Alberto Miranda's avatar
Alberto Miranda committed
        - NORNS_DEBUG_OUTPUT_TO_STDERR=1 NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_register_namespace]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_unregister_namespace]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_submit_copy_local_posix_files]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_submit_copy_buffer_to_file]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_register_job]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_update_job]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_unregister_job]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_ping]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_add_process]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_remove_process]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_resource_init]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_iotask_init]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::NORNS_TASK]"
Alberto Miranda's avatar
Alberto Miranda committed
##        - valgrind 
##            --leak-check=full 
##            -v 
##            env NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 
Alberto Miranda's avatar
Alberto Miranda committed
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_submit]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::norns_status]"
        - NORNS_DEBUG_CONFIG_FILE_OVERRIDE=1 ./api -as "[api::nornsctl_status]"
    after_script:
        - pwd
        - if [[ -e tests.log ]]; 
          then
              cat $(tail -1 tests.log)/config/urd.log;
          fi