File: tests.yml

package info (click to toggle)
php-league-commonmark 2.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,544 kB
  • sloc: php: 20,670; xml: 1,998; ruby: 45; makefile: 21; javascript: 15
file content (147 lines) | stat: -rw-r--r-- 4,394 bytes parent folder | download
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Tests

on:
    push: ~
    pull_request: ~

permissions:
  contents: read

jobs:
    phpcs:
        name: PHPCS
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6

            - uses: shivammathur/setup-php@v2
              with:
                  php-version: 7.4
                  extensions: curl, mbstring, yaml
                  coverage: none
                  tools: composer:v2, cs2pr

            - run: composer update --no-progress

            - run: vendor/bin/phpcs -q --report=checkstyle | cs2pr

    phpunit:
        name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
        runs-on: ubuntu-latest
        continue-on-error: ${{ !matrix.stable }}
        strategy:
            fail-fast: false
            matrix:
                php: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
                stable: [true]
                coverage: [true]
                composer-flags: ['']
                include:
                    - php: '7.4'
                      stable: true
                      coverage: false
                      composer-flags: '--prefer-lowest'
                    - php: '8.5'
                      stable: false
                      coverage: false
                      composer-flags: '--ignore-platform-req=php'

        steps:
            - uses: actions/checkout@v6
              with:
                fetch-depth: 0

            - uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php }}
                  extensions: curl, mbstring, yaml
                  coverage: pcov
                  tools: composer:v2

            - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

            - run: composer update --no-progress ${{ matrix.composer-flags }}

            - run: vendor/bin/phpunit --no-coverage
              if: ${{ !matrix.coverage }}

            - run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
              if: ${{ matrix.coverage }}

            - run: php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
              if: ${{ matrix.coverage }}
              continue-on-error: true

    phpstan:
        name: PHPStan
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6

            - uses: shivammathur/setup-php@v2
              with:
                  php-version: 7.4
                  extensions: curl, mbstring, yaml
                  coverage: none
                  tools: composer:v2

            - run: composer update --no-progress

            - run: vendor/bin/phpstan analyse --no-progress

    psalm:
        name: Psalm
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6

            - uses: shivammathur/setup-php@v2
              with:
                  php-version: 7.4
                  extensions: curl, mbstring, yaml
                  coverage: none
                  tools: composer:v2

            - run: composer update --no-progress

            - run: vendor/bin/psalm --no-progress --stats --threads=$(nproc) --output-format=github --shepherd

    pathological:
        name: Pathological Tests
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6

            - uses: shivammathur/setup-php@v2
              with:
                  php-version: 8.4
                  extensions: curl, mbstring, yaml
                  coverage: none
                  tools: composer:v2

            - run: composer update --no-progress

            - run: php tests/pathological/test.php

    docs-lint:
        permissions:
          contents: read  # for actions/checkout to fetch code
          statuses: write  # for github/super-linter/slim to mark status of each linter run
        name: Markdownlint
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6

            - uses: github/super-linter/slim@v5.0.0
              env:
                  DEFAULT_BRANCH: main
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  LINTER_RULES_PATH: '.' # From https://github.com/github/super-linter/pull/859#issuecomment-709625090
                  VALIDATE_MARKDOWN: true
                  MARKDOWN_CONFIG_FILE: docs/.markdownlint.yml
                  FILTER_REGEX_INCLUDE: '/docs/.*'