WHY2/.gitlab-ci.yml
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
invalid gitlab-ci syntax fix #2
2025-01-09 19:09:33 +01:00

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