Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/native-apis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Native APIs

on:
push:
branches:
- trunk
pull_request:
paths:
- '.github/workflows/native-apis.yml'
- 'components/DataLiberation/URL/**'
- 'components/HTML/**'
- 'components/XML/**'
- 'extensions/native-apis/**'

jobs:
build-and-verify:
name: Build and verify PHP extension
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: mbstring, json
coverage: none
tools: composer:v2

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Install native build dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang libclang-dev
php-config --version

- name: Install Composer dependencies
run: composer install --prefer-dist --no-progress --no-suggest

- name: Run Rust tests
working-directory: extensions/native-apis
run: cargo test

- name: Build native extension
run: extensions/native-apis/build-extension.sh

- name: Verify native extension
run: php -d extension=extensions/native-apis/target/release/libwp_native_apis.so extensions/native-apis/tests/verify-native-apis.php
3 changes: 2 additions & 1 deletion extensions/native-apis/build-extension.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ if ! command -v clang >/dev/null 2>&1 && [ -z "${LIBCLANG_PATH:-}" ]; then
exit 1
fi

export PHP_CONFIG="${php_config}"
PHP_CONFIG="$(command -v "${php_config}")"
export PHP_CONFIG

cargo build --release --features php-extension

Expand Down
Loading
Loading