# 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 . name: Test Project on: push: branches: [ development ] workflow_dispatch: jobs: test-project: runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest ] include: - os: ubuntu-latest gdb: gdb -ex "run" -ex "quit" --batch configure: ./configure.sh test: ./test steps: - name: Checkout repository uses: actions/checkout@v2 with: ref: development - if: matrix.os == 'ubuntu-latest' name: Update packages run: | sudo apt-get update # sudo apt-get upgrade - name: Permissions run: | chmod +x ${{ matrix.configure }} - name: Install GDB run: sudo apt-get install gdb -y - name: Preparation run: sudo ./${{ matrix.configure }} - name: Set up Rust # Normally works with configure.sh, but gitea has some beef with cargo idk uses: dtolnay/rust-toolchain@stable - name: Install WHY2 run: make install - name: Download WHY2 test project run: curl -Lo ${{ matrix.test }}.c https://gist.github.com/ENGO150/d8419b6c31ffb68ebb930a5b41af8c73/raw - name: Build WHY2 project run: cc ${{ matrix.test }}.c -lwhy2 -Wall -o ${{ matrix.test }} - name: Run test run: ${{ matrix.gdb }} ./${{ matrix.test }}