name: CI
on:
  push:
    branches:
        - master
  pull_request:
jobs:
  Linux_EL8:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        distro: ['rockylinux']
        el: [8]
        php: ['8.0', '8.2', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']
    container:
      image: ${{ matrix.distro }}:${{ matrix.el }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup PHP module
        if: ${{ matrix.php }}
        run: |
          dnf install -y "https://rpms.remirepo.net/enterprise/remi-release-${{ matrix.el }}.rpm"
          dnf module enable -y "php:${{ matrix.php }}"
      - name: Install PHP
        run: |
          dnf install -y "php" "php-devel" "rpm-devel"
      - name: Show PHP version
        run: php -v
      - name: Make php-rpminfo
        run: |
          phpize
          ./configure
          make -j"$(nproc)"
      - name: Test php-rpminfo
        env:
          TEST_PHP_ARGS: '-q --show-diff'
        run: |
          make test
  Linux_EL9:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        distro: ['rockylinux']
        el: [9]
        php: [0, '8.1', '8.2', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']
    container:
      image: ${{ matrix.distro }}:${{ matrix.el }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup PHP module
        if: ${{ matrix.php }}
        run: |
          dnf install -y "https://rpms.remirepo.net/enterprise/remi-release-${{ matrix.el }}.rpm"
          dnf module enable -y "php:${{ matrix.php }}"
      - name: Install PHP
        run: |
          dnf install -y "php" "php-devel" "rpm-devel"
      - name: Show PHP version
        run: php -v
      - name: Make php-rpminfo
        run: |
          phpize
          ./configure
          make -j"$(nproc)"
      - name: Test php-rpminfo
        env:
          TEST_PHP_ARGS: '-q --show-diff'
        run: |
          make test
  Linux_Fedora:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        fedora: [39, 40, 41]
        php: [0, 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']
    container:
      image: fedora:${{ matrix.fedora }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup PHP module
        if: ${{ matrix.php }}
        run: |
          dnf install -y "https://rpms.remirepo.net/fedora/remi-release-${{ matrix.fedora }}.rpm"
          dnf module enable -y "php:${{ matrix.php }}"
      - name: Install PHP
        run: |
          dnf install -y "php" "php-devel" "rpm-devel"
      - name: Show PHP version
        run: php -v
      - name: Make php-rpminfo
        run: |
          phpize
          ./configure
          make -j"$(nproc)"
      - name: Test php-rpminfo
        env:
          TEST_PHP_ARGS: '-q --show-diff'
        run: |
          make test