1111permissions :
1212 contents : read # to fetch code (actions/checkout)
1313
14+ concurrency :
15+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
16+ cancel-in-progress : true
17+
1418jobs :
1519 test :
1620 name : ${{ matrix.name }} ${{ matrix.arguments }}
1923 fail-fast : false
2024 matrix :
2125 php-version :
22- - 8.2
2326 - 8.4
2427 arguments :
2528 - --os a
3134 - --os t
3235 - --os u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9
3336 include :
34- -
35- name : PHP 8.2
36- php-version : 8.2
37- database : mysql:8.0
3837 -
3938 name : PHP 8.4
4039 php-version : 8.4
4443 php-version : 8.4
4544 database : mariadb:11.7
4645 arguments : --full --exclude-phpunit-group=browser,mibs,external-dependencies,os
46+ -
47+ name : Other
48+ php-version : 8.2
49+ database : mysql:8.0
50+ arguments : --full --exclude-phpunit-group=browser,mibs,external-dependencies,os
4751
4852 services :
4953 database :
@@ -58,13 +62,13 @@ jobs:
5862 steps :
5963 -
6064 name : Checkout
61- uses : actions/checkout@v5
65+ uses : actions/checkout@v6
6266 -
6367 name : Set up PHP
6468 uses : shivammathur/setup-php@v2
6569 with :
6670 php-version : ${{ matrix.php-version }}
67- tools : composer,php-cs-fixer
71+ tools : composer
6872 coverage : none
6973 -
7074 name : Get composer cache directory
@@ -73,15 +77,15 @@ jobs:
7377 echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
7478 -
7579 name : Cache composer
76- uses : actions/cache@v4
80+ uses : actions/cache@v5
7781 with :
7882 path : ${{ steps.composer-cache.outputs.dir }}
7983 key : ${{ runner.os }}-composer-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/composer.lock') }}
8084 restore-keys : |
8185 ${{ runner.os }}-composer-${{ secrets.CACHE_VERSION }}-
8286 -
8387 name : Cache pip
84- uses : actions/cache@v4
88+ uses : actions/cache@v5
8589 with :
8690 path : ~/.cache/pip
8791 key : ${{ runner.os }}-pip-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/requirements.txt') }}
@@ -103,6 +107,7 @@ jobs:
103107 APP_KEY=base64:vHI+YHgkyCDad31iPEErGSNEOWO21wNzV+zyENKQv04=
104108 APP_URL=http://127.0.0.1:8000
105109 APP_ENV=testing
110+ APP_DEBUG=true
106111 DB_DRIVER=mysql
107112 DB_HOST=127.0.0.1
108113 DB_PORT=${{ job.services.database.ports[3306] }}
@@ -159,6 +164,8 @@ jobs:
159164 name : Start SNMPSIM
160165 run : |
161166 .python_venvs/snmpsim/bin/snmpsim-command-responder-lite --data-dir=tests/snmpsim --agent-udpv4-endpoint=127.1.6.2:1162 --log-level=error --logging-method=file:/tmp/snmpsimd.log &
167+ # Wait for the UDP port to open / snmpsim to start
168+ timeout 10 bash -c 'until nc -z -u 127.1.6.2 1162; do sleep 0.1; done' || true
162169
163170 -
164171 name : lnms dev:check ci
@@ -179,4 +186,11 @@ jobs:
179186 -
180187 name : Dump context
181188 if : always()
182- uses : crazy-max/ghaction-dump-context@v1
189+ uses : crazy-max/ghaction-dump-context@v3
190+ -
191+ name : Upload LibreNMS Logs
192+ if : failure()
193+ uses : actions/upload-artifact@v7
194+ with :
195+ name : librenms-logs-${{ matrix.name }}-${{ strategy.job-index }}
196+ path : logs/librenms.log
0 commit comments