name: Test WHY2

on:
  push:
    branches: [ development ]
  workflow_dispatch:

jobs:
  test-why2:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os:  [ ubuntu-latest ]
        include:
          - os: ubuntu-latest
            output: out/why2-test
            configure: configure.sh
            build: build.sh
            app: why2
            
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          ref: development

      - if: matrix.os == 'ubuntu-latest'
        name: Update packages
        run: | 
          sudo apt update 
          sudo apt upgrade

      - name: Permissions
        run: |
          chmod +x ${{ matrix.configure }}
          chmod +x ${{ matrix.build }}

      - name: Praparating
        run: sudo ./${{ matrix.configure }}

      - name: Install WHY2 (Lib)
        run: sudo ./${{ matrix.build }} install

      - name: Install WHY2 (App)
        run: sudo ./${{ matrix.build }} test

      - name: Build WHY2 (Test)
        run: ./${{ matrix.build }} test

      - name: Test Lib
        run: ./${{ matrix.output }}

      - name: Test App
        run: ${{ matrix.app }}