Skip to content

Commit 22bf11c

Browse files
committed
WIP: adding FreeBSD to CI attempt.
1 parent 4fe07d4 commit 22bf11c

File tree

4 files changed

+143
-0
lines changed

4 files changed

+143
-0
lines changed

azure-pipelines.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ jobs:
4141
parameters:
4242
configurationName: MACOS_DEBUG_NTS
4343
configurationParameters: '--enable-debug --disable-zts'
44+
- template: azure/bsd/freebsd/job.yml
45+
parameters:
46+
configurationName: FREEBSD_DEBUG_NTS
47+
configurationParameters: '--enable-debug --disable-zts'
4448
- ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
4549
- template: azure/job.yml
4650
parameters:

azure/bsd/freebsd/job.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
parameters:
2+
configurationName: ''
3+
configurationParameters: ''
4+
5+
jobs:
6+
- job: ${{ parameters.configurationName }}
7+
pool:
8+
vmImage: 'freebsd-12.0'
9+
steps:
10+
- template: pkg.yml
11+
- script: |
12+
--enable-option-checking=fatal \
13+
--prefix=/usr/local \
14+
--enable-fpm \
15+
--with-pdo-mysql=mysqlnd \
16+
--with-mysqli=mysqlnd \
17+
--with-pgsql \
18+
--with-pdo-sqlite \
19+
--without-pear \
20+
--enable-gd \
21+
--with-jpeg \
22+
--with-webp \
23+
--with-freetype \
24+
--enable-exif \
25+
--with-zip \
26+
--with-zlib \
27+
--enable-soap \
28+
--enable-xmlreader \
29+
--with-xsl \
30+
--with-libxml \
31+
--enable-sysvsem \
32+
--enable-sysvshm \
33+
--enable-shmop \
34+
--enable-pcntl \
35+
--enable-mbstring \
36+
--with-curl \
37+
--enable-sockets \
38+
--with-openssl \
39+
--with-iconv=/usr/local \
40+
--enable-bcmath \
41+
--enable-calendar \
42+
--enable-ftp \
43+
--with-kerberos \
44+
--enable-sysvmsg \
45+
--with-ffi \
46+
--enable-zend-test \
47+
--enable-intl \
48+
--with-mhash \
49+
--with-sodium \
50+
--enable-dba \
51+
--enable-werror \
52+
--with-config-file-path=/etc \
53+
--with-config-file-scan-dir=/etc/php.d
54+
displayName: 'Configure Build'
55+
- script: |
56+
make -j$(sysctl -n hw.logicalcpu) >/dev/null
57+
displayName: 'Make Build'
58+
- script: |
59+
sudo make install
60+
displayName: 'Install Build'
61+
- template: test.yml
62+
parameters:
63+
configurationName: ${{ parameters.configurationName }}
64+
- ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
65+
- template: test.yml
66+
parameters:
67+
configurationName: ${{ parameters.configurationName }}
68+
runTestsName: 'OpCache'
69+
runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1
70+
- ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
71+
- template: test.yml
72+
parameters:
73+
configurationName: ${{ parameters.configurationName }}
74+
runTestsName: 'Function JIT'
75+
runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M -d opcache.jit=1205
76+
- template: test.yml
77+
parameters:
78+
configurationName: ${{ parameters.configurationName }}
79+
runTestsName: 'Tracing JIT'
80+
runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M

azure/bsd/freebsd/pkg.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
parameters:
2+
packages: ''
3+
4+
steps:
5+
- script: |
6+
pkg install pkgconf \
7+
autoconf \
8+
bison \
9+
re2c
10+
displayName: 'Install Build Tools'
11+
- script: |
12+
pkg install openssl \
13+
bzip2 \
14+
enchant2 \
15+
libpng \
16+
webp \
17+
freetype \
18+
intltool \
19+
icu4c \
20+
libiconv \
21+
zlib \
22+
t1lib \
23+
libgd \
24+
libzip \
25+
gmp \
26+
tidyp \
27+
libxml2 \
28+
libxslt \
29+
postgresql96-client
30+
displayName: 'Install Build Dependencies'

azure/bsd/freebsd/test.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
parameters:
2+
runTestsName: ''
3+
runTestsParameters: ''
4+
5+
steps:
6+
- script: |
7+
export TEST_PHP_JUNIT=junit.xml
8+
export REPORT_EXIT_STATUS=no
9+
export SKIP_IO_CAPTURE_TESTS=1
10+
export CI_NO_IPV6=1
11+
rm -rf junit.xml | true
12+
sapi/cli/php run-tests.php -P -q \
13+
-j$(sysctl -n hw.ncpu) \
14+
-g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP \
15+
--offline \
16+
--show-diff \
17+
--show-slow 1000 \
18+
--set-timeout 120 \
19+
${{ parameters.runTestsParameters }}
20+
displayName: 'Test ${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
21+
condition: or(succeeded(), failed())
22+
- task: PublishTestResults@2
23+
inputs:
24+
testResultsFormat: 'JUnit'
25+
testResultsFiles: junit.xml
26+
testRunTitle: '${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
27+
failTaskOnFailedTests: true
28+
displayName: 'Export ${{ parameters.configurationName }} ${{ parameters.runTestsName }} Results'
29+
condition: or(succeeded(), failed())

0 commit comments

Comments
 (0)