docker-php-extension-installer/.github/workflows/test-extensions.yml
Michele Locati 4ee43e5429
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-03 15:29:09 +01:00

97 lines
2.6 KiB
YAML

name: Test extensions
on:
- pull_request
jobs:
check_syntax_shell:
name: Check shell coding style
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v1
with:
go-version: "1.13"
- name: Install shfmt
run: GO111MODULE=on go install mvdan.cc/sh/v3/cmd/shfmt
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Check coding style
run: |
export PATH=$PATH:$(go env GOPATH)/bin
./scripts/invoke-shfmt check
check_syntax_php:
name: Check PHP coding style
runs-on: ubuntu-latest
steps:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "7.4"
tools: composer
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Install Composer dependencies
run: composer install --no-progress --classmap-authoritative
- name: Check coding style
run: composer run-script lint -- --dry-run --diff
test_extensions:
needs:
- check_syntax_shell
- check_syntax_php
strategy:
matrix:
distro:
- alpine3.7
- alpine3.8
- alpine3.9
- alpine3.10
- alpine3.11
- alpine3.12
- jessie
- stretch
- buster
name: Check on ${{ matrix.distro }}
runs-on: ubuntu-latest
env:
DOCKER_DISTRO: ${{ matrix.distro }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Test extensions
run: ./scripts/ci-test-extensions from-commits "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}"
test_restoring_packages:
name: Test restoring packages
needs:
- check_syntax_shell
- check_syntax_php
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:7.3-stretch ./scripts/test-restore-apt
test_custom_version:
name: Test installing specific versions
needs:
- check_syntax_shell
- check_syntax_php
runs-on: ubuntu-latest
strategy:
matrix:
xdebug_version:
- ''
- 2.9.8
- 3.0.0
steps:
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
- run: docker run --rm --volume "$(pwd):/app" --workdir /app php:7.4-alpine ./scripts/test-installversion "${{ matrix.xdebug_version }}"