ENGO150
e4bb7eb1f2
Some checks failed
Codacy Scan / Codacy Security Scan (push) Failing after 3m14s
Build WHY2-chat / test-why2 (./out/why2-chat-client, ./configure.sh, ubuntu-latest, ./out/why2-chat-server) (push) Successful in 4m3s
Test Project / test-project (./configure.sh, gdb -ex "run" -ex "quit" --batch, ubuntu-latest, ./test) (push) Successful in 4m9s
Test WHY2-core / test-why2 (why2, ./configure.sh, gdb -ex "run" -ex "quit" --batch, ubuntu-latest, ./out/why2-core-test, valgrind --leak-check=full --show-leak-kinds=reachable --track-origins=yes -s) (push) Successful in 4m41s
Test WHY2-logger / test-why2 (why2-logger, ./configure.sh, gdb -ex "run" -ex "quit" --batch, ubuntu-latest, ./out/why2-logger-test, valgrind --leak-check=full --show-leak-kinds=reachable --track-origins=yes -s) (push) Successful in 4m56s
83 lines
2.9 KiB
YAML
83 lines
2.9 KiB
YAML
# 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 <https://www.gnu.org/licenses/>.
|
|
|
|
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 |