98 lines
2.7 KiB
YAML
98 lines
2.7 KiB
YAML
name: Test recent
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 12 * * *"
|
|
repository_dispatch:
|
|
types:
|
|
- test-recent-extensions
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
determine_extension_list:
|
|
name: Determine extension list
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v4
|
|
-
|
|
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@v4
|
|
with:
|
|
name: artifact
|
|
path: extensions-to-test.txt
|
|
if-no-files-found: error
|
|
retention-days: 1
|
|
test_extensions:
|
|
runs-on: ubuntu-latest
|
|
needs: determine_extension_list
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
distro:
|
|
- alpine3.9
|
|
- alpine3.10
|
|
- alpine3.11
|
|
- alpine3.12
|
|
- alpine3.13
|
|
- alpine3.14
|
|
- alpine3.15
|
|
- alpine3.16
|
|
- alpine3.17
|
|
- alpine3.18
|
|
- alpine3.19
|
|
- alpine3.20
|
|
- jessie
|
|
- stretch
|
|
- buster
|
|
- bullseye
|
|
- bookworm
|
|
name: Check on ${{ matrix.distro }}
|
|
env:
|
|
IPETEST_DOCKER_DISTRO: ${{ matrix.distro }}
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v4
|
|
-
|
|
name: Loading list of extensions to be tested
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: artifact
|
|
-
|
|
name: Test extensions
|
|
run: |
|
|
EXTENSIONS_TO_TEST="$(cat 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
|
|
notify-failure:
|
|
name: Notify failure
|
|
runs-on: ubuntu-latest
|
|
if: failure()
|
|
needs: test_extensions
|
|
steps:
|
|
-
|
|
name: Send error notification
|
|
uses: appleboy/telegram-action@master
|
|
with:
|
|
token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
to: ${{ secrets.TELEGRAM_TO }}
|
|
message: Testing recent PHP packages failed - See https://github.com/mlocati/docker-php-extension-installer/actions/runs/${{ github.run_id }}
|