diff options
author | Go Kudo <zeriyoshi@gmail.com> | 2024-09-04 07:01:53 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2024-09-04 07:01:53 +0200 |
commit | 3086b12ffb47da9c6b70ab4ea261963e348c4171 (patch) | |
tree | d7e9b399e76b04f0e4a6b242544ed22781819e28 | |
parent | 7c7a825c87647c5e65c02a71223e19641a42e129 (diff) |
Add CI with GItHub Actions
-rw-r--r-- | ci.yaml | 100 |
1 files changed, 100 insertions, 0 deletions
@@ -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 |