Add Windows CI job #27
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |