72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
name: Test recent
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 12 * * *"
|
|
repository_dispatch:
|
|
types:
|
|
- test-recent
|
|
|
|
jobs:
|
|
determine_extension_list:
|
|
name: Determine extension list
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Retrieve recently updated extensions
|
|
run: ./scripts/ci-retrieve-recent-extensions >extensions-updated.txt
|
|
- name: Filter supported extensions
|
|
run: |
|
|
UPDATED_EXTENSIONS="$(cat extensions-updated.txt)"
|
|
if test -z "$UPDATED_EXTENSIONS"; then
|
|
EXTENSIONS_TO_TEST=''
|
|
else
|
|
EXTENSIONS_TO_TEST="$(./scripts/ci-filter-supported-extensions "$UPDATED_EXTENSIONS")"
|
|
fi
|
|
printf "$EXTENSIONS_TO_TEST" > extensions-to-test.txt
|
|
- name: Persist list of extensions to be tested
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: artifact
|
|
path: extensions-to-test.txt
|
|
test_extensions:
|
|
runs-on: ubuntu-latest
|
|
needs: determine_extension_list
|
|
strategy:
|
|
matrix:
|
|
distro:
|
|
- alpine3.7
|
|
- alpine3.8
|
|
- alpine3.9
|
|
- alpine3.10
|
|
- alpine3.11
|
|
- jessie
|
|
- stretch
|
|
- buster
|
|
name: Check on ${{ matrix.distro }}
|
|
env:
|
|
DOCKER_DISTRO: ${{ matrix.distro }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Loading list of extensions to be tested
|
|
uses: actions/download-artifact@v1
|
|
with:
|
|
name: artifact
|
|
- name: Test extensions
|
|
run: |
|
|
EXTENSIONS_TO_TEST="$(cat artifact/extensions-to-test.txt)"
|
|
if test -z "$EXTENSIONS_TO_TEST"; then
|
|
echo 'No extensions to be tested'
|
|
else
|
|
./scripts/ci-test-extensions from-list "$EXTENSIONS_TO_TEST"
|
|
fi
|
|
- name: Notify failures
|
|
if: failure()
|
|
uses: appleboy/telegram-action@master
|
|
with:
|
|
token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
to: ${{ secrets.TELEGRAM_TO }}
|
|
message: Testing recent PHP packages failed on https://github.com/mlocati/docker-php-extension-installer
|