# 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/ image: gcc build: stage: build # instead of calling g++ directly you can also use some build toolkit like make # install the necessary build tools when needed before_script: - apt update - apt -y install libncurses-dev libmodbus-dev libsqlite3-dev libident-dev script: - make -C src/ artifacts: paths: - dispense - cokebank_sqlite.so - dispsrv # depending on your build setup it's most likely a good idea to cache outputs to reduce the build time # cache: # paths: # - "*.o" # run tests using the binary built before test: stage: test before_script: # Install the -dev versions to avoid needing to find the actual library names - apt update && apt -y install libncurses-dev libmodbus-dev libsqlite3-dev libident netcat sqlite3 - useradd testuser && chown -R testuser . # SETUID on the client, so it can use AUTOAUTH (ident doesn't work on the container) - chmod u+s dispense script: - cd tests && su -c './TEST_basic.sh' testuser artifacts: paths: - tests/rundir/**