summaryrefslogtreecommitdiffstats
path: root/.github/workflows/ci.yaml
blob: bdef1ba384e5c421f476a3d5e26a6ec4c19d32f1 (plain)
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
name: CI
on:
  push:
    branches:
        - master
  pull_request:
jobs:
  Linux_EL:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        distro: ['rockylinux']
        el: [9]
        php: ['8.0', '8.1', '8.2', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-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 module enable -y "php:${{ matrix.php }}"
          dnf install -y "php" "php-devel" "libxcrypt-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_Fedora:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        fedora: [39, 40, 41]
        php: [0, '8.0', '8.1', '8.2', '8.3']
    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:remi-${{ matrix.php }}"
      - name: Install PHP
        run: |
          dnf install -y "php" "php-devel" "libxcrypt-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