1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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
|