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  | 
