diff options
author | William Desportes <williamdes@wdes.fr> | 2021-05-28 18:39:31 +0300 |
---|---|---|
committer | William Desportes <williamdes@wdes.fr> | 2021-05-28 18:42:02 +0300 |
commit | 280a201f795d272347f868ff91b9bac2688cdb65 (patch) | |
tree | ad48d5a0903889b2258ecfd5de7639cd5c8b52a3 /.github/workflows/tests.yml | |
parent | c3b892f8028027409b4b109a25cb615bac115b17 (diff) | |
parent | 79ae9ad4680f8acba7719b932e8c2f4953bd2f8f (diff) |
Merge branch 'QA_5_1'
Signed-off-by: William Desportes <williamdes@wdes.fr>
Diffstat (limited to '.github/workflows/tests.yml')
-rw-r--r-- | .github/workflows/tests.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 209dc32e71..f89d56a934 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,6 +9,53 @@ on: - QA_** jobs: + multi-arch-tests-php: + name: Test on php ${{ matrix.php-version }} (${{ matrix.arch }}) + if: "!contains(github.event.head_commit.message, '[ci skip]')" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - { php-version: '7', arch: 'amd64', exclude-phpunit-groups: 'selenium,extension-iconv' } + - { php-version: '7', arch: 'arm64v8', exclude-phpunit-groups: 'selenium,extension-iconv' } + - { php-version: '7', arch: 'arm32v7', exclude-phpunit-groups: 'selenium,extension-iconv,32bit-incompatible' } + - { php-version: '7', arch: 'arm32v6', exclude-phpunit-groups: 'selenium,extension-iconv,32bit-incompatible' } + - { php-version: '7', arch: 'i386', exclude-phpunit-groups: 'selenium,extension-iconv,32bit-incompatible' } + - { php-version: '7', arch: 'ppc64le', exclude-phpunit-groups: 'selenium,extension-iconv' } + - { php-version: '7', arch: 's390x', exclude-phpunit-groups: 'selenium,extension-iconv,32bit-incompatible' } + steps: + - uses: actions/checkout@v2 + - name: Write script + # tcpdf allowed memory exhausted needs the memory_limit workaround + # musl-locales and musl-locales-lang are needed to run some locale specific tests + # gettext is needed to run generate-mo + # pcov for code coverage + run: | + printf "set -exu && \ + export V='%s' && \ + apk add --update --no-cache \ + php\$V-cli php\$V-mysqli php\$V-session php\$V-mbstring \ + php\$V-iconv php\$V-xml php\$V-tokenizer php\$V-xmlwriter php\$V-simplexml \ + php\$V-dom php\$V-json php\$V-bz2 php\$V-curl php\$V-gd php\$V-zip \ + musl-locales musl-locales-lang \ + gettext composer && \ + apk add --update --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/edge/testing php\$V-pecl-pcov && \ + composer update && \ + ./scripts/generate-mo && \ + php -d memory_limit=512M ./vendor/bin/phpunit --exclude-group=%s" \ + "${{ matrix.php-version }}" "${{ matrix.exclude-phpunit-groups }}" > ./do-tests.sh + - name: Setup multi arch support + run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - name: Print arch + run: docker run --rm ${{ matrix.arch }}/alpine:3.13 uname -a + - name: Run tests on php ${{ matrix.php-version }} + run: docker run -v $PWD:/app --workdir /app --rm ${{ matrix.arch }}/alpine:3.13 sh /app/do-tests.sh + - name: Send coverage + uses: codecov/codecov-action@v1 + with: + flags: arch-${{ matrix.php-version }}-${{ matrix.arch }} + name: phpunit-${{ matrix.php-version }}-${{ matrix.arch }} test-php: name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} if: "!contains(github.event.head_commit.message, '[ci skip]')" |