stages: - lint - build - test pattern: stage: lint tags: - regular - debian script: - shopt -s extglob - apt-get update && apt-get install -y git python - git clone https://github.com/google/styleguide - cd styleguide/cpplint - ./cpplint.py --filter=-whitespace/blank_line,-build/include_what_you_use ../../src/!(jsoncpp).cpp ../../src/linux/*.cpp ../../src/windows/*.cpp compile: stage: build artifacts: paths: - bin/ - build/ tags: - regular - debian script: - echo "Estágio 'build'" - apt-get update && apt-get install -y build-essential cmake git libudev-dev - git submodule init - git submodule update --init --recursive - mkdir build - cd build - cmake -DPRINT_JSON=ON .. - make testDebian: stage: test tags: - regular - debian script: - apt-get update && apt-get install -y git jq - git clone https://github.com/sstephenson/bats.git - cd bats - ./install.sh /usr - cd ../test - ./returnTest.bats dependencies: - compile testUbuntu: stage: test tags: - ubuntu - regular script: - apt-get update && apt-get install -y bats jq - cd test - ./returnTest.bats dependencies: - compile testOpensuse: stage: test tags: - opensuse script: - zypper -n update - zypper -n install bats && zypper -n install jq - cd test - ./returnTest.bats dependencies: - compile