2024-02-17 19:49:27 +01:00
|
|
|
# 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"
|
2024-02-18 11:20:34 +01:00
|
|
|
CORE_OUTPUT: "./out/why2-core-test"
|
|
|
|
CORE_APP: "why2"
|
2024-02-18 12:22:02 +01:00
|
|
|
LOGGER_OUTPUT: "./out/why2-logger-test"
|
|
|
|
LOGGER_APP: "why2-logger"
|
2024-02-18 11:20:34 +01:00
|
|
|
VALGRIND: "valgrind --leak-check=full --show-leak-kinds=reachable --track-origins=yes -s"
|
2025-01-09 19:01:58 +01:00
|
|
|
CONFIGURE: "./configure.sh"
|
|
|
|
NEEDED_STUFF: "sudo lsb-release gdb"
|
2024-02-17 19:49:27 +01:00
|
|
|
|
|
|
|
why2-chat-build:
|
|
|
|
stage: build
|
2024-02-18 11:23:38 +01:00
|
|
|
image: rust:latest # Fixes cargo installation problems in ./configure.sh
|
2024-02-17 19:49:27 +01:00
|
|
|
script:
|
2025-01-09 15:08:34 +01:00
|
|
|
- apt-get update # Update repos
|
2025-01-09 19:01:58 +01:00
|
|
|
- apt-get install $NEEDED_STUFF -y # Install needed stuff
|
|
|
|
- chmod +x $CONFIGURE # Permissions
|
|
|
|
- sudo $CONFIGURE # Preparation
|
2024-02-18 11:23:38 +01:00
|
|
|
- make install BYPASS_CHECK=true # Install WHY2
|
|
|
|
- make build_chat # Build Chat
|
2024-02-17 19:49:27 +01:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- $CLIENT
|
2024-02-18 11:20:34 +01:00
|
|
|
- $SERVER
|
|
|
|
|
|
|
|
why2-core-test:
|
|
|
|
stage: build
|
|
|
|
image: rust:latest
|
|
|
|
script:
|
2025-01-09 15:08:34 +01:00
|
|
|
- apt-get update # Update repos
|
2025-01-09 19:01:58 +01:00
|
|
|
- apt-get install $NEEDED_STUFF valgrind -y # Install needed stuff
|
|
|
|
- chmod +x $CONFIGURE # Permissions
|
|
|
|
- sudo $CONFIGURE # Preparation
|
2024-02-18 11:23:38 +01:00
|
|
|
- make install BYPASS_CHECK=true # Install WHY2
|
|
|
|
- make test_core # Build WHY2 Test
|
2025-01-09 19:32:26 +01:00
|
|
|
- gdb -ex "run" -ex "quit" --batch $CORE_OUTPUT # Test Lib
|
|
|
|
- gdb -ex "run" -ex "quit" --batch $CORE_APP # Test App
|
2024-02-18 12:22:02 +01:00
|
|
|
- $VALGRIND $CORE_OUTPUT # Test Lib by Valgrind
|
|
|
|
|
|
|
|
why2-logger-test:
|
|
|
|
stage: build
|
|
|
|
image: rust:latest
|
|
|
|
script:
|
2025-01-09 15:08:34 +01:00
|
|
|
- apt-get update # Update repos
|
2025-01-09 19:01:58 +01:00
|
|
|
- apt-get install $NEEDED_STUFF valgrind -y # Install needed stuff
|
|
|
|
- chmod +x $CONFIGURE # Permissions
|
|
|
|
- sudo $CONFIGURE # Preparation
|
2024-02-18 12:22:02 +01:00
|
|
|
- make install BYPASS_CHECK=true # Install WHY2
|
|
|
|
- make test_logger # Build WHY2 Test
|
2025-01-09 19:32:26 +01:00
|
|
|
- gdb -ex "run" -ex "quit" --batch $LOGGER_OUTPUT # Test Lib
|
|
|
|
- gdb -ex "run" -ex "quit" --batch $LOGGER_APP # Test App
|
2024-02-18 12:47:46 +01:00
|
|
|
- $VALGRIND $LOGGER_OUTPUT # Test Lib by Valgrind
|
|
|
|
|
|
|
|
why2-project:
|
|
|
|
stage: build
|
|
|
|
image: rust:latest
|
|
|
|
script:
|
2025-01-09 15:08:34 +01:00
|
|
|
- apt-get update # Update repos
|
2025-01-09 19:01:58 +01:00
|
|
|
- apt-get install $NEEDED_STUFF -y # Install needed stuff
|
|
|
|
- chmod +x $CONFIGURE # Permissions
|
|
|
|
- sudo $CONFIGURE # Preparation
|
2024-02-18 12:47:46 +01:00
|
|
|
- make install BYPASS_CHECK=true # Install WHY2
|
2025-01-09 19:01:58 +01:00
|
|
|
- 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
|