From 4f33c0984b74c434693c7306737bedd177ef2478 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 4 Sep 2024 07:06:01 +0200 Subject: fix path --- .github/workflows/ci.yaml | 100 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 .github/workflows/ci.yaml (limited to '.github/workflows') diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..7796d9e --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,100 @@ +name: CI +on: + push: + branches: + - master + pull_request: +jobs: + Linux_EL: + runs-on: ubuntu-latest + strategy: + matrix: + distro: ['rockylinux'] + el: [8, 9] + php: ['8.0', '8.1', '8.2', '8.3'] + container: + image: ${{ matrix.distro }}:${{ matrix.el }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install PHP + run: | + dnf install -y "https://rpms.remirepo.net/enterprise/remi-release-${{ matrix.el }}.rpm" + dnf config-manager --disable -y "epel" "remi-modular" "remi-safe" + dnf --enablerepo=remi-modular module enable -y "php:remi-${{ matrix.php }}" + dnf --enablerepo=epel,remi,remi-modular install -y "php" "php-devel" + - name: Show PHP version + run: php -v + - name: Manually install libxcrypt 4.4.x (EL8 and earlier) + if: ${{ matrix.el < 9 }} + run: | + dnf install -y "python3-pip" "perl-open" "git" + pip3 install "passlib" + git clone --depth=1 --branch="v4.4.36" "https://github.com/besser82/libxcrypt.git" "libxcrypt" + cd "libxcrypt" + ./autogen.sh + ./configure --with-pkgconfigdir="/usr/lib64/pkgconfig" --libdir="/usr/lib64" + make -j"$(nproc)" + make install + - name: Make php-xpass + run: | + phpize + ./configure + make -j"$(nproc)" + - name: Test php-xpass + env: + TEST_PHP_ARGS: '-q --show-diff' + run: | + make test + Linux_Fedora: + runs-on: ubuntu-latest + strategy: + matrix: + fedora: [39, 40, 41] + php: ['8.0', '8.1', '8.2', '8.3'] + container: + image: fedora:${{ matrix.fedora }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install PHP + run: | + dnf install -y "https://rpms.remirepo.net/fedora/remi-release-${{ matrix.fedora }}.rpm" + dnf --enablerepo=remi-modular module enable -y "php:remi-${{ matrix.php }}" + dnf --enablerepo=remi,remi-modular install -y "php" "php-devel" + - name: Show PHP version + run: php -v + - name: Make php-xpass + run: | + phpize + ./configure + make -j"$(nproc)" + - name: Test php-xpass + env: + TEST_PHP_ARGS: '-q --show-diff' + run: | + make test + Linux_Debian: + runs-on: ubuntu-latest + strategy: + matrix: + php: ['8.0', '8.1', '8.2', '8.3'] + ts: ['cli', 'zts'] + container: + image: php:${{ matrix.php }}-${{ matrix.ts }} + steps: + - name: Install build dependencies + run: | + apt-get update + apt-get install -y "automake" "libtool" "libcrypt-dev" + - name: Checkout + uses: actions/checkout@v4 + - name: Make xpass + run: | + phpize + ./configure + make -j"$(nproc)" + - name: Test xpass + env: + TEST_PHP_ARGS: '-q --show-diff' + run: make test -- cgit