File: ci.yml

package info (click to toggle)
php-codecoverage 12.3.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 61,152 kB
  • sloc: javascript: 35,234; php: 25,410; xml: 1,314; makefile: 46
file content (117 lines) | stat: -rw-r--r-- 3,164 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions

on:
  - pull_request
  - push

name: CI

env:
  COMPOSER_ROOT_VERSION: 12.3.x-dev

jobs:
  coding-guidelines:
    name: Coding Guidelines

    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Install PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.3
          extensions: none, iconv, json, phar, tokenizer
          coverage: none
          tools: none

      - name: Run PHP-CS-Fixer
        run: ./tools/php-cs-fixer fix --dry-run --show-progress=dots --using-cache=no --verbose

  static-analysis:
    name: Static Analysis

    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Install PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.4
          extensions: none, ctype, curl, dom, iconv, mbstring, opcache, simplexml, tokenizer, xml, xmlwriter
          coverage: none
          tools: none

      - name: Install dependencies with Composer
        run: ./tools/composer update --no-interaction --no-ansi --no-progress

      - name: Run PHPStan
        run: ./tools/phpstan analyse --no-progress --error-format=github

  tests:
    name: Tests

    runs-on: ${{ matrix.os }}

    env:
      PHP_EXTENSIONS: none, ctype, curl, dom, json, libxml, mbstring, openssl, pdo_sqlite, soap, tokenizer, xml, xmlwriter
      PHP_INI_VALUES: memory_limit=-1, assert.exception=1, zend.assertions=1, error_reporting=-1, log_errors_max_len=0, display_errors=On

    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - windows-latest

        php-version:
          - 8.3
          - 8.4
          - 8.5

        coverage-driver:
          - pcov
          - xdebug3

    steps:
      - name: Configure Git to avoid issues with line endings
        if: matrix.os == 'windows-latest'
        run: git config --global core.autocrlf false

      - name: Checkout
        uses: actions/checkout@v4

      - name: Install PHP with extensions
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          coverage: ${{ matrix.coverage-driver }}
          extensions: ${{ env.PHP_EXTENSIONS }}
          ini-values: ${{ env.PHP_INI_VALUES }}
          tools: none

      - name: Install dependencies with Composer
        run: php ./tools/composer update --no-ansi --no-interaction --no-progress

      - name: Run tests with PHPUnit
        run: ./vendor/bin/phpunit --log-junit test-results.xml --coverage-openclover=code-coverage.xml

      - name: Upload test results to Codecov.io
        if: ${{ !cancelled() }}
        uses: codecov/test-results-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          disable_search: true
          files: ./test-results.xml

      - name: Upload code coverage data to Codecov.io
        uses: codecov/codecov-action@v4
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          disable_search: true
          files: ./code-coverage.xml