18
18
19
19
env :
20
20
RE2C_VERSION : 2.2
21
- PHP_SDK_VERSION : 2.2.0
22
- PHP_DEVPACK : C:\tools\php-devpack
23
- PHP_SDK_PATH : C:\tools\php-sdk
21
+ CONFIGURE_COVERAGE : ' ' # Configure options for overage is empty by default
24
22
25
23
jobs :
26
24
builds :
@@ -42,17 +40,17 @@ jobs:
42
40
# {php}-{ts}-{os.name}-{compiler}-{arch}
43
41
include :
44
42
# Linux
45
- - { name: ubuntu-gcc, os: ubuntu-18.04, compiler: gcc }
43
+ - { name: ubuntu-gcc, os: ubuntu-18.04, compiler: gcc, ccov: 'ON' }
46
44
# macOS
47
- - { name: macos-clang, os: macos-10.15, compiler: clang }
45
+ - { name: macos-clang, os: macos-10.15, compiler: clang, ccov: 'ON' }
48
46
# Windows
49
- - { php: '7.0', ts: 'nts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14' }
50
- - { php: '7.1', ts: 'nts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14' }
51
- - { php: '7.2', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15' }
52
- - { php: '7.3', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15' }
53
- - { php: '7.4', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15' }
54
- - { php: '8.0', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' }
55
- - { php: '8.1', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' }
47
+ - { php: '7.0', ts: 'nts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14', ccov: 'OFF' }
48
+ - { php: '7.1', ts: 'nts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14', ccov: 'OFF' }
49
+ - { php: '7.2', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15', ccov: 'OFF' }
50
+ - { php: '7.3', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15', ccov: 'OFF' }
51
+ - { php: '7.4', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15', ccov: 'OFF' }
52
+ - { php: '8.0', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' }
53
+ - { php: '8.1', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' }
56
54
57
55
steps :
58
56
- uses : actions/checkout@v2
65
63
env :
66
64
PHPTS : ${{ matrix.ts }}
67
65
66
+ - name : Setup Build System
67
+ shell : bash
68
+ run : |
69
+ echo "::group::Enable Code Coverage Capture"
70
+ if [ "${{ matrix.ccov }}" = "ON" ]; then
71
+ echo "CONFIGURE_COVERAGE=--enable-coverage" >> $GITHUB_ENV
72
+ fi
73
+ echo "::endgroup::"
74
+
75
+ echo "::group::Setup PHP executable for tests"
76
+ if [ "${{ runner.os }}" = "Windows" ]; then
77
+ echo "TEST_PHP_EXECUTABLE=C:\tools\php\php.exe" >> $GITHUB_ENV
78
+ else
79
+ echo "TEST_PHP_EXECUTABLE=$(which php)" >> $GITHUB_ENV
80
+ fi
81
+ echo "::endgroup::"
82
+
68
83
- name : Build Zephir Parser Extension (Linux)
69
84
uses : ./.github/actions/build-linux
70
85
if : runner.os == 'Linux'
@@ -85,15 +100,6 @@ jobs:
85
100
CACHE_DIR : ' C:\Downloads'
86
101
TOOLS_DIR : ' C:\tools'
87
102
88
- - name : Setup Tests
89
- shell : bash
90
- run : |
91
- if [ "${{ runner.os }}" = "Windows" ]; then
92
- echo "TEST_PHP_EXECUTABLE=C:\tools\php\php.exe" >> $GITHUB_ENV
93
- else
94
- echo "TEST_PHP_EXECUTABLE=$(which php)" >> $GITHUB_ENV
95
- fi
96
-
97
103
- name : Run Tests for Zephir Parser
98
104
shell : bash
99
105
run : |
@@ -113,14 +119,14 @@ jobs:
113
119
EXTENSION="$(find ./modules -type f -name 'zephir_parser.so')"
114
120
fi
115
121
116
- zip -rvj zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.compiler }}-${{ matrix. arch }}.zip \
122
+ zip -rvj zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }}.zip \
117
123
$EXTENSION VERSION LICENSE CREDITS NO_WARRANTY CHANGELOG.md
118
124
echo "::endgroup::"
119
125
120
126
- name : Upload Zephir Parser
121
127
uses : actions/upload-artifact@v2
122
128
with :
123
- name : zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.compiler }}-${{ matrix. arch }}.zip
129
+ name : zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }}.zip
124
130
path : |
125
131
${{ github.workspace }}/zephir-parser-*.zip
126
132
@@ -136,12 +142,24 @@ jobs:
136
142
Write-Output "::endgroup::"
137
143
}
138
144
145
+ - name : Capture Coverage Data
146
+ if : success() && matrix.ccov == 'ON'
147
+ run : make coverage-capture
148
+
149
+ - name : Upload Code Coverage Report
150
+ if : matrix.ccov == 'ON'
151
+ uses : codecov/codecov-action@v2
152
+ with :
153
+ token : ${{ secrets.CODECOV_TOKEN }}
154
+ files : ./lcov.info
155
+ flags : unittests,${{ matrix.os }}
156
+
139
157
- name : Upload Info for Debug on Fail
140
158
if : failure()
141
159
uses : actions/upload-artifact@v2
142
160
with :
143
161
retention-days : 2
144
- name : errors-zephir-parser-php-zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.compiler }}-${{ matrix. arch }}
162
+ name : errors-zephir-parser-php-zephir-parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }}
145
163
path : |
146
164
${{ github.workspace }}/tests
147
165
${{ github.workspace }}/parser
0 commit comments