Skip to content

Add Windows CI job

Add Windows CI job #27

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
jobs:
Linux_EL:
runs-on: ubuntu-latest
strategy:
matrix:
distro: ['rockylinux']
el: [9]
php: [0, '8.1', '8.2', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']
container:
image: ${{ matrix.distro }}:${{ matrix.el }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP module
if: ${{ matrix.php }}
run: |
dnf install -y "https://rpms.remirepo.net/enterprise/remi-release-${{ matrix.el }}.rpm"
dnf module enable -y "php:${{ 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_Fedora:
runs-on: ubuntu-latest
strategy:
matrix:
fedora: [39, 40, 41]
php: [0, 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']
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:${{ 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
Windows:
defaults:
run:
shell: cmd
runs-on: windows-2022
strategy:
matrix:
php: ['8.4']
arch: ['x64']
ts: ['ts']
steps:
- name: Checkout xpass
uses: actions/checkout@v4
- name: Setup PHP
id: setup-php
uses: php/[email protected]
with:
version: ${{matrix.php}}
arch: ${{matrix.arch}}
ts: ${{matrix.ts}}
cache: true
- name: Fetch libxcrypt
run: |
curl -Lso libxcrypt.zip https://github.com/cmb69/winlib-builder/actions/runs/12281525937/artifacts/2307215134
7z x -odeps libxcrypt.zip
- name: Enable Developer Command Prompt
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.arch}}
toolset: ${{steps.setup-php.outputs.toolset}}
- name: phpize
run: phpize
- name: configure
run: configure --enable-xpass --with-prefix=${{steps.setup-php.outputs.prefix}}
- name: make
run: nmake
- name: test
env:
TEST_PHP_ARGS: '-q --show-diff'
run: nmake test