mirror of
https://github.com/danog/ext-php-rs.git
synced 2024-12-02 17:50:55 +01:00
6fd31621f2
* Bump PHP API version, remove flags removed from PHP API See following commits: -70195c3561
-b5746a4c7f
* Add PHP 8.1 to CI * Clippy lint * Fix PHP 8.1 support with new features
113 lines
2.9 KiB
YAML
113 lines
2.9 KiB
YAML
name: Build and Lint
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
name: Build and Test
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
rust-toolchain:
|
|
- stable
|
|
- nightly
|
|
php:
|
|
- '8.0'
|
|
- '8.1'
|
|
llvm:
|
|
- '11.0'
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
- name: Setup Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ matrix.rust-toolchain }}
|
|
override: true
|
|
- name: Setup LLVM & Clang
|
|
uses: KyleMayes/install-llvm-action@v1
|
|
with:
|
|
version: ${{ matrix.llvm }}
|
|
directory: ${{ runner.temp }}/llvm-${{ matrix.llvm }}
|
|
- name: Install mdbook
|
|
uses: peaceiris/actions-mdbook@v1
|
|
with:
|
|
mdbook-version: latest
|
|
- name: Build
|
|
env:
|
|
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.llvm }}/lib
|
|
EXT_PHP_RS_TEST:
|
|
run: cargo build --release --all-features --all
|
|
- name: Test guide examples
|
|
env:
|
|
CARGO_PKG_NAME: mdbook-tests
|
|
CARGO_PKG_VERSION: 0.1.0
|
|
run: |
|
|
mdbook test guide -L target/release/deps
|
|
- name: Test inline examples
|
|
uses: actions-rs/cargo@v1
|
|
env:
|
|
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.llvm }}/lib
|
|
with:
|
|
command: test
|
|
args: --release --all
|
|
build-zts:
|
|
name: Build with ZTS
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
- name: Build
|
|
uses: ./.github/actions/zts
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
llvm:
|
|
- '11.0'
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
- name: Setup Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt, clippy
|
|
- name: Setup LLVM & Clang
|
|
uses: KyleMayes/install-llvm-action@v1
|
|
with:
|
|
version: ${{ matrix.llvm }}
|
|
directory: ${{ runner.temp }}/llvm-${{ matrix.llvm }}
|
|
- name: Run rustfmt
|
|
uses: actions-rs/cargo@v1
|
|
env:
|
|
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.llvm }}/lib
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
- name: Run clippy
|
|
uses: actions-rs/cargo@v1
|
|
env:
|
|
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.llvm }}/lib
|
|
with:
|
|
command: clippy
|
|
args: --all -- -D warnings
|
|
- name: Build with docs stub
|
|
env:
|
|
DOCS_RS:
|
|
run:
|
|
cargo clean && cargo build
|