# 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/>.

name: Build WHY2-chat

on:
  push:
    branches: [ development ]
  workflow_dispatch:
  schedule:
    - cron: '40 22 12 4 2'

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

    strategy:
      matrix:
        os:  [ ubuntu-latest ]
        include:
          - os: ubuntu-latest
            client: ./out/why2-chat-client
            server: ./out/why2-chat-server
            configure: configure.sh

    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 }}

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

      - name: Install WHY2
        run: make install

      - name: Build Chat
        run: make build_chat

      - name: Upload Client
        uses: actions/upload-artifact@v4
        with:
          name: WHY2 Chat Client
          path: ${{ matrix.client }}

      - name: Upload Server
        uses: actions/upload-artifact@v4
        with:
          name: WHY2 Chat Server
          path: ${{ matrix.server }}