Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
name: Tests
2
 
3
on:
4
  push:
5
    branches: [ main ]
6
  pull_request:
7
    branches: [ main ]
8
 
9
jobs:
10
  build:
11
    runs-on: ubuntu-latest
12
    strategy:
13
      matrix:
14
        php-versions: ['8.0', '8.1']
15
    name: PHP ${{ matrix.php-versions }} Test
16
    services:
17
      redis:
18
        image: redis
19
        ports:
20
          - 6379:6379
21
        options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
22
      memcached:
23
        image: memcached:latest
24
        ports:
25
          - 11211:11211
26
        options: --health-cmd "timeout 5 bash -c 'cat < /dev/null > /dev/udp/127.0.0.1/11211'" --health-interval 10s --health-timeout 5s --health-retries 5
27
    steps:
28
    - uses: actions/checkout@v2
29
    - name: Setup PHP
30
      uses: shivammathur/setup-php@v2
31
      with:
32
        php-version: ${{ matrix.php-versions }}
33
        extensions: memcached
34
        coverage: pcov
35
    - name: Validate composer.json and composer.lock
36
      run: composer validate
37
    - name: Cache Composer packages
38
      id: composer-cache
39
      uses: actions/cache@v2
40
      with:
41
        path: vendor
42
        key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
43
        restore-keys: |
44
          ${{ runner.os }}-php-
45
    - name: Install dependencies
46
      if: steps.composer-cache.outputs.cache-hit != 'true'
47
      run: composer install --prefer-dist --no-progress --no-suggest
48
    - name: dump autoload
49
      run: composer dump-autoload
50
    - name: Run test suite
51
      run: vendor/bin/phpunit
52
    - name: Run cs
53
      run: composer run-script phpcs
54
    - name: Run analyse
55
      run: composer run-script analyse