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 make autoconf
+ 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
- - dispsrc
+ - dispsrv
# depending on your build setup it's most likely a good idea to cache outputs to reduce the build time
# cache:
# paths:
# 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 && ./TEST_basic.sh
+ - cd tests && su -c './TEST_basic.sh' testuser
+ artifacts:
+ paths:
+ - tests/rundir/**