2020-02-02 15:17:49 +00:00
|
|
|
name: Test extensions
|
|
|
|
|
|
|
|
on:
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
jobs:
|
2020-12-10 10:58:16 +00:00
|
|
|
check_syntax_data:
|
|
|
|
name: Check data syntax
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2020-12-10 10:58:16 +00:00
|
|
|
- name: Check order supported extensions list
|
|
|
|
run: |
|
|
|
|
sort -o data/supported-extensions.sorted data/supported-extensions
|
|
|
|
if ! DIFF="$(diff -u data/supported-extensions data/supported-extensions.sorted)"; then
|
|
|
|
printf 'The order of extensions in data/supported-extensions is wrong.\nThe list of required changes is:\n\n%s\n' "$DIFF" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
rm data/supported-extensions.sorted
|
2020-12-16 15:34:53 +00:00
|
|
|
sort -o data/special-requirements.sorted data/special-requirements
|
|
|
|
if ! DIFF="$(diff -u data/special-requirements data/special-requirements.sorted)"; then
|
|
|
|
printf 'The order of extensions in data/special-requirements is wrong.\nThe list of required changes is:\n\n%s\n' "$DIFF" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
rm data/special-requirements.sorted
|
2020-02-02 15:17:49 +00:00
|
|
|
check_syntax_shell:
|
|
|
|
name: Check shell coding style
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install Go
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/setup-go@v5
|
2020-02-02 15:17:49 +00:00
|
|
|
with:
|
2023-10-10 08:37:52 +00:00
|
|
|
go-version: "1.21.0"
|
2024-06-24 10:03:47 +00:00
|
|
|
cache: false
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Install shfmt
|
2023-10-10 08:37:52 +00:00
|
|
|
run: GO111MODULE=on go install mvdan.cc/sh/v3/cmd/shfmt@v3.7.0
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Check coding style
|
2021-10-07 13:34:51 +00:00
|
|
|
run: ./scripts/invoke-shfmt check
|
2020-02-02 15:17:49 +00:00
|
|
|
check_syntax_php:
|
|
|
|
name: Check PHP coding style
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install PHP
|
2020-11-10 16:03:30 +00:00
|
|
|
uses: shivammathur/setup-php@v2
|
2020-02-02 15:17:49 +00:00
|
|
|
with:
|
|
|
|
php-version: "7.4"
|
|
|
|
tools: composer
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Install Composer dependencies
|
2020-02-25 10:03:36 +00:00
|
|
|
run: composer install --no-progress --classmap-authoritative
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Check coding style
|
|
|
|
run: composer run-script lint -- --dry-run --diff
|
|
|
|
test_extensions:
|
|
|
|
needs:
|
2020-12-10 10:58:16 +00:00
|
|
|
- check_syntax_data
|
2020-02-02 15:17:49 +00:00
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
strategy:
|
2021-02-23 17:25:07 +00:00
|
|
|
fail-fast: true
|
2020-02-02 15:17:49 +00:00
|
|
|
matrix:
|
|
|
|
distro:
|
|
|
|
- alpine3.9
|
|
|
|
- alpine3.10
|
2020-02-15 20:35:52 +00:00
|
|
|
- alpine3.11
|
2020-09-18 18:02:07 +00:00
|
|
|
- alpine3.12
|
2021-01-26 07:37:36 +00:00
|
|
|
- alpine3.13
|
2021-06-19 10:25:26 +00:00
|
|
|
- alpine3.14
|
2021-12-05 15:49:11 +00:00
|
|
|
- alpine3.15
|
2022-06-06 13:38:26 +00:00
|
|
|
- alpine3.16
|
2023-01-22 10:33:20 +00:00
|
|
|
- alpine3.17
|
2023-06-23 13:46:51 +00:00
|
|
|
- alpine3.18
|
2023-12-15 08:24:59 +00:00
|
|
|
- alpine3.19
|
2024-07-10 08:45:46 +00:00
|
|
|
- alpine3.20
|
2020-02-02 15:17:49 +00:00
|
|
|
- jessie
|
|
|
|
- stretch
|
|
|
|
- buster
|
2021-08-24 14:02:49 +00:00
|
|
|
- bullseye
|
2023-06-23 13:46:51 +00:00
|
|
|
- bookworm
|
2020-02-02 15:17:49 +00:00
|
|
|
name: Check on ${{ matrix.distro }}
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
env:
|
2021-07-01 09:51:41 +00:00
|
|
|
IPETEST_DOCKER_DISTRO: ${{ matrix.distro }}
|
2020-02-02 15:17:49 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2021-07-02 12:33:43 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2020-02-02 15:17:49 +00:00
|
|
|
- name: Test extensions
|
2020-02-21 12:10:49 +00:00
|
|
|
run: ./scripts/ci-test-extensions from-commits "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}"
|
2020-02-02 15:17:49 +00:00
|
|
|
test_restoring_packages:
|
|
|
|
name: Test restoring packages
|
|
|
|
needs:
|
2020-12-10 10:58:16 +00:00
|
|
|
- check_syntax_data
|
2020-02-02 15:17:49 +00:00
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-04-27 08:40:50 +00:00
|
|
|
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:8.2-bullseye ./scripts/test-restore-apt
|
Let users install a specific PHP module version
Test: amqp,apcu,gmagick,http,pecl_http,igbinary,memcache,mailparse,memcached,mongodb,mosquitto,msgpack,oauth,opencensus,parallel,pcov,pdo_sqlsrv,sqlsrv,propro,protobuf,pthreads,raphf,rdkafka,redis,solr,ssh2,uuid,xdebug,uopz,xhprof,yaml
2020-12-02 17:19:24 +00:00
|
|
|
test_custom_version:
|
|
|
|
name: Test installing specific versions
|
|
|
|
needs:
|
2020-12-10 10:58:16 +00:00
|
|
|
- check_syntax_data
|
Let users install a specific PHP module version
Test: amqp,apcu,gmagick,http,pecl_http,igbinary,memcache,mailparse,memcached,mongodb,mosquitto,msgpack,oauth,opencensus,parallel,pcov,pdo_sqlsrv,sqlsrv,propro,protobuf,pthreads,raphf,rdkafka,redis,solr,ssh2,uuid,xdebug,uopz,xhprof,yaml
2020-12-02 17:19:24 +00:00
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
xdebug_version:
|
|
|
|
- ''
|
|
|
|
- 2.9.8
|
|
|
|
- 3.0.0
|
2021-01-26 15:58:14 +00:00
|
|
|
- ^2
|
|
|
|
- ^2.8
|
2023-11-09 14:01:33 +00:00
|
|
|
- ^2.8@stable
|
Let users install a specific PHP module version
Test: amqp,apcu,gmagick,http,pecl_http,igbinary,memcache,mailparse,memcached,mongodb,mosquitto,msgpack,oauth,opencensus,parallel,pcov,pdo_sqlsrv,sqlsrv,propro,protobuf,pthreads,raphf,rdkafka,redis,solr,ssh2,uuid,xdebug,uopz,xhprof,yaml
2020-12-02 17:19:24 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
Let users install a specific PHP module version
Test: amqp,apcu,gmagick,http,pecl_http,igbinary,memcache,mailparse,memcached,mongodb,mosquitto,msgpack,oauth,opencensus,parallel,pcov,pdo_sqlsrv,sqlsrv,propro,protobuf,pthreads,raphf,rdkafka,redis,solr,ssh2,uuid,xdebug,uopz,xhprof,yaml
2020-12-02 17:19:24 +00:00
|
|
|
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:7.4-alpine ./scripts/test-installversion "${{ matrix.xdebug_version }}"
|
2020-12-16 10:34:30 +00:00
|
|
|
test_composer:
|
|
|
|
name: Test installing composer
|
|
|
|
needs:
|
|
|
|
- check_syntax_data
|
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
composer_version:
|
|
|
|
- ''
|
|
|
|
- '1'
|
|
|
|
- '2.0.1'
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2020-12-16 10:34:30 +00:00
|
|
|
- run: |
|
|
|
|
docker run --rm --volume "$(pwd):/app" --workdir /app php:7.4-alpine ./scripts/test-installcomposer "${{ matrix.composer_version }}"
|
2021-07-02 12:33:43 +00:00
|
|
|
test_marking_packages:
|
|
|
|
name: Test marking pre-installed packages
|
|
|
|
needs:
|
|
|
|
- check_syntax_data
|
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
distro:
|
|
|
|
- alpine
|
|
|
|
- buster
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2021-07-02 12:33:43 +00:00
|
|
|
- run: docker run --rm --volume "$(pwd):/app" --workdir /app "php:7.4-${{ matrix.distro }}" "./scripts/ci-markused-${{ matrix.distro }}"
|
2022-03-24 13:04:40 +00:00
|
|
|
test_instantclient_basic:
|
|
|
|
name: Test using Oracle Instant Client Basic
|
|
|
|
needs:
|
|
|
|
- check_syntax_data
|
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container: php:8.1-cli-alpine
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-03-24 13:04:40 +00:00
|
|
|
- run: IPE_INSTANTCLIENT_BASIC=1 ./install-php-extensions oci8 pdo_oci
|
2022-03-25 09:55:08 +00:00
|
|
|
test_install_fromsource:
|
|
|
|
name: Test installing from source
|
|
|
|
needs:
|
|
|
|
- check_syntax_data
|
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container: ${{ matrix.container }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
container:
|
|
|
|
- php:8.1-cli-alpine
|
|
|
|
source:
|
|
|
|
- php-memcached-dev/php-memcached@8f106564e6bb005ca6100b12ccc89000daafa9d8
|
|
|
|
- php-memcached-dev/php-memcached@8f106564e6bb
|
|
|
|
- php-memcached-dev/php-memcached@v3.2.0RC2
|
|
|
|
- php-memcached-dev/php-memcached@refs/tags/v3.2.0RC2
|
|
|
|
include:
|
|
|
|
-
|
|
|
|
container: php:8.1-cli-bullseye
|
|
|
|
source: php-memcached-dev/php-memcached@v3.2.0RC2
|
|
|
|
-
|
|
|
|
container: php:7.4-cli-alpine
|
|
|
|
source: php-memcached-dev/php-memcached@v3.2.0RC2
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2022-03-25 09:55:08 +00:00
|
|
|
- run: ./install-php-extensions ${{ matrix.source }}
|
2023-07-11 13:09:03 +00:00
|
|
|
test_upgrading_icu_data_en:
|
|
|
|
name: Test that icu-data-en can be upgraded
|
|
|
|
needs:
|
|
|
|
- check_syntax_data
|
|
|
|
- check_syntax_shell
|
|
|
|
- check_syntax_php
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2024-06-24 10:03:47 +00:00
|
|
|
uses: actions/checkout@v4
|
2023-07-11 13:09:03 +00:00
|
|
|
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:8.2-cli-alpine ./scripts/test-icu-data-en-upgradable
|