2022-12-04 18:54:57 +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/>.
|
|
|
|
|
2022-11-18 18:06:56 +01:00
|
|
|
name: Test WHY2-core
|
2022-04-27 19:19:38 +02:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ development ]
|
|
|
|
workflow_dispatch:
|
2022-10-19 17:36:55 +02:00
|
|
|
schedule:
|
2022-10-20 19:49:23 +02:00
|
|
|
- cron: '40 22 12 4 2'
|
2022-04-27 19:19:38 +02:00
|
|
|
|
|
|
|
jobs:
|
2022-07-11 18:06:29 +02:00
|
|
|
test-why2:
|
2022-05-21 15:13:49 +02:00
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-05-31 19:26:44 +02:00
|
|
|
os: [ ubuntu-latest ]
|
2022-05-21 15:13:49 +02:00
|
|
|
include:
|
2022-05-31 19:14:14 +02:00
|
|
|
- os: ubuntu-latest
|
2023-02-08 10:34:50 +01:00
|
|
|
output: ./out/why2-core-test
|
2025-01-09 15:42:14 +01:00
|
|
|
gdb: gdb -ex "run" -ex "quit" --batch
|
2023-02-08 10:39:18 +01:00
|
|
|
valgrind: valgrind --leak-check=full --show-leak-kinds=reachable --track-origins=yes -s
|
2025-01-09 15:41:47 +01:00
|
|
|
configure: ./configure.sh
|
2022-05-21 15:13:49 +02:00
|
|
|
app: why2
|
2022-05-21 15:46:19 +02:00
|
|
|
|
2022-05-21 15:13:49 +02:00
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2025-01-08 18:01:54 +01:00
|
|
|
uses: actions/checkout@v2
|
2022-05-21 15:13:49 +02:00
|
|
|
with:
|
|
|
|
ref: development
|
|
|
|
|
2022-05-26 18:54:48 +02:00
|
|
|
- if: matrix.os == 'ubuntu-latest'
|
|
|
|
name: Update packages
|
|
|
|
run: |
|
2025-01-09 15:08:34 +01:00
|
|
|
sudo apt-get update
|
|
|
|
# sudo apt-get upgrade
|
2022-05-21 15:13:49 +02:00
|
|
|
|
|
|
|
- name: Permissions
|
|
|
|
run: chmod +x ${{ matrix.configure }}
|
|
|
|
|
2022-05-27 18:45:05 +02:00
|
|
|
- name: Preparation
|
2022-05-21 15:13:49 +02:00
|
|
|
run: sudo ./${{ matrix.configure }}
|
|
|
|
|
2023-02-08 10:41:04 +01:00
|
|
|
- name: Install Valgrind
|
2025-01-09 15:08:34 +01:00
|
|
|
run: sudo apt-get install valgrind -y
|
2023-02-08 10:41:04 +01:00
|
|
|
|
2025-01-09 15:08:34 +01:00
|
|
|
- name: Set up Rust # Normally works with configure.sh, but gitea has some beef with cargo idk
|
2025-01-08 18:01:54 +01:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
|
2022-05-21 15:13:49 +02:00
|
|
|
- name: Install WHY2
|
2024-01-24 12:03:15 +01:00
|
|
|
run: make install
|
2022-05-21 15:13:49 +02:00
|
|
|
|
|
|
|
- name: Build WHY2 Test
|
2024-01-24 12:03:15 +01:00
|
|
|
run: make test_core
|
2022-05-21 15:13:49 +02:00
|
|
|
|
|
|
|
- name: Test Lib
|
2025-01-09 15:42:14 +01:00
|
|
|
run: ${{ matrix.gdb }} ${{ matrix.output }}
|
2022-05-21 15:13:49 +02:00
|
|
|
|
2022-05-13 18:49:35 +02:00
|
|
|
- name: Test App
|
2025-01-09 15:42:14 +01:00
|
|
|
run: ${{ matrix.gdb }} ${{ matrix.app }}
|
2023-02-08 10:39:18 +01:00
|
|
|
|
|
|
|
- name: Test Lib by Valgrind
|
|
|
|
run: ${{ matrix.valgrind }} ${{ matrix.output }}
|