# This is part of WHY2 # Copyright (C) 2022 Václav Šmejkal # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . variables: CLIENT: "./out/why2-chat-client" SERVER: "./out/why2-chat-server" CORE_OUTPUT: "./out/why2-core-test" CORE_APP: "why2" LOGGER_OUTPUT: "./out/why2-logger-test" LOGGER_APP: "why2-logger" VALGRIND: "valgrind --leak-check=full --show-leak-kinds=reachable --track-origins=yes -s" GDB: "gdb -ex \"run\" -ex \"quit\" --batch" CONFIGURE: "./configure.sh" NEEDED_STUFF: "sudo lsb-release gdb" why2-chat-build: stage: build image: rust:latest # Fixes cargo installation problems in ./configure.sh script: - apt-get update # Update repos - apt-get install $NEEDED_STUFF -y # Install needed stuff - chmod +x $CONFIGURE # Permissions - sudo $CONFIGURE # Preparation - make install BYPASS_CHECK=true # Install WHY2 - make build_chat # Build Chat artifacts: paths: - $CLIENT - $SERVER why2-core-test: stage: build image: rust:latest script: - apt-get update # Update repos - apt-get install $NEEDED_STUFF valgrind -y # Install needed stuff - chmod +x $CONFIGURE # Permissions - sudo $CONFIGURE # Preparation - make install BYPASS_CHECK=true # Install WHY2 - make test_core # Build WHY2 Test - ${GDB} $CORE_OUTPUT # Test Lib - ${GDB} $CORE_APP # Test App - $VALGRIND $CORE_OUTPUT # Test Lib by Valgrind why2-logger-test: stage: build image: rust:latest script: - apt-get update # Update repos - apt-get install $NEEDED_STUFF valgrind -y # Install needed stuff - chmod +x $CONFIGURE # Permissions - sudo $CONFIGURE # Preparation - make install BYPASS_CHECK=true # Install WHY2 - make test_logger # Build WHY2 Test - ${GDB} $LOGGER_OUTPUT # Test Lib - ${GDB} $LOGGER_APP # Test App - $VALGRIND $LOGGER_OUTPUT # Test Lib by Valgrind why2-project: stage: build image: rust:latest script: - apt-get update # Update repos - apt-get install $NEEDED_STUFF -y # Install needed stuff - chmod +x $CONFIGURE # Permissions - sudo $CONFIGURE # Preparation - make install BYPASS_CHECK=true # Install WHY2 - curl -Lo ./test.c https://gist.github.com/ENGO150/d8419b6c31ffb68ebb930a5b41af8c73/raw # Download WHY2 test project - cc test.c -lwhy2 -Wall -o ./test # Build WHY2 project - $GDB ./test # Run Test