@@ -12,53 +12,53 @@ jobs:
1212 strategy :
1313 fail-fast : false
1414 matrix :
15+ version : [8.3, 8.4, 8.5, 8.6]
16+ oracle : [11, 18, 21, 23]
1517 include :
18+ - oracle : 11
19+ image : wnameless/oracle-xe-11g-r2
20+ port : 1511
21+ options : --name=oci
22+ - oracle : 18
23+ image : gvenzl/oracle-xe:18-slim-faststart
24+ port : 1518
25+ options : --health-cmd healthcheck.sh --health-interval 10s --health-timeout 5s --health-retries 10
26+ - oracle : 21
27+ image : gvenzl/oracle-xe:21-slim-faststart
28+ port : 1521
29+ options : --health-cmd healthcheck.sh --health-interval 10s --health-timeout 5s --health-retries 10
30+ - oracle : 23
31+ image : gvenzl/oracle-free:23-slim
32+ port : 1523
33+ options : --health-cmd healthcheck.sh --health-interval 10s --health-timeout 5s --health-retries 10
1634 - version : 8.3
17- branch : PHP-8.3
35+ branch : PHP-8.3
1836 - version : 8.4
19- branch : PHP-8.4
37+ branch : PHP-8.4
2038 - version : 8.5
21- branch : master
39+ branch : PHP-8.5
40+ - version : 8.6
41+ branch : master
42+ exclude :
43+ # Test with Oracle 11 with PHP 8.3 only
44+ # https://github.com/php/php-src/pull/18734
45+ # https://github.com/php/pecl-database-pdo_oci/pull/16#discussion_r2119810891
46+ - version : 8.4
47+ oracle : 11
48+ - version : 8.5
49+ oracle : 11
50+ - version : 8.6
51+ oracle : 11
52+
2253 services :
23- oracle-11 :
24- image : wnameless/oracle-xe-11g-r2
54+ oracle :
55+ image : ${{ matrix.image }}
2556 ports :
26- - 1511 :1521
57+ - ${{ matrix.port }} :1521
2758 env :
2859 ORACLE_ALLOW_REMOTE : true
29- oracle-18 :
30- image : gvenzl/oracle-xe:18-slim-faststart
31- ports :
32- - 1518:1521
33- env :
34- ORACLE_PASSWORD : my_pass_18
35- options : >-
36- --health-cmd healthcheck.sh
37- --health-interval 10s
38- --health-timeout 5s
39- --health-retries 10
40- oracle-21 :
41- image : gvenzl/oracle-xe:21-slim-faststart
42- ports :
43- - 1521:1521
44- env :
45- ORACLE_PASSWORD : my_pass_21
46- options : >-
47- --health-cmd healthcheck.sh
48- --health-interval 10s
49- --health-timeout 5s
50- --health-retries 10
51- oracle-23 :
52- image : gvenzl/oracle-free:23-slim
53- ports :
54- - 1523:1521
55- env :
56- ORACLE_PASSWORD : my_pass_23
57- options : >-
58- --health-cmd healthcheck.sh
59- --health-interval 10s
60- --health-timeout 5s
61- --health-retries 10
60+ ORACLE_PASSWORD : oracle
61+ options : ${{ matrix.options }}
6262 runs-on : ubuntu-latest
6363 steps :
6464 - name : Setup dependencies
@@ -75,14 +75,15 @@ jobs:
7575 # fix debug build warning: zend_signal: handler was replaced for signal (2) after startup
7676 echo DISABLE_INTERRUPT=on > /opt/oracle/instantclient/network/admin/sqlnet.ora
7777 - name : Checkout
78- uses : actions/checkout@v4
78+ uses : actions/checkout@v6
7979 - name : Checkout php-src
80- uses : actions/checkout@v4
80+ uses : actions/checkout@v6
8181 with :
8282 repository : php/php-src
8383 ref : ${{ matrix.branch }}
8484 path : php-src
8585 - name : Setup PHP
86+ id : setup-php
8687 uses : shivammathur/setup-php@v2
8788 with :
8889 php-version : ${{matrix.version}}
@@ -95,57 +96,27 @@ jobs:
9596 echo 'extension=pdo_oci.so' | sudo tee /etc/php/${{ matrix.version }}/mods-available/pdo_oci.ini
9697 sudo phpenmod -v ${{ matrix.version }} pdo_oci
9798 php --ri pdo_oci
98- - name : Run tests /w Oracle 11 (for PHP 8.3 only)
99- # https://github.com/php/php-src/pull/18734
100- # https://github.com/php/pecl-database-pdo_oci/pull/16#discussion_r2119810891
101- if : matrix.version == '8.3'
99+ - name : Run tests /w Oracle ${{ matrix.oracle }}
102100 run : php php-src/run-tests.php --show-diff --show-slow 1000 --set-timeout 120 tests
103101 env :
104102 PDO_TEST_DIR : ${{ github.workspace }}/php-src/ext/pdo/tests
105103 PDO_OCI_TEST_DIR : ${{ github.workspace }}/tests
106104 PDO_OCI_TEST_USER : system
107105 PDO_OCI_TEST_PASS : oracle
108- PDO_OCI_TEST_DSN : oci:dbname=0.0.0.0:1511/XE;charset=AL32UTF8
109- - name : Run tests /w Oracle 18
110- if : success() || failure()
111- run : php php-src/run-tests.php --show-diff --show-slow 1000 --set-timeout 120 tests
112- env :
113- PDO_TEST_DIR : ${{ github.workspace }}/php-src/ext/pdo/tests
114- PDO_OCI_TEST_DIR : ${{ github.workspace }}/tests
115- PDO_OCI_TEST_USER : system
116- PDO_OCI_TEST_PASS : my_pass_18
117- PDO_OCI_TEST_DSN : oci:dbname=0.0.0.0:1518/XE;charset=AL32UTF8
118- - name : Run tests /w Oracle 21
119- if : success() || failure()
120- run : php php-src/run-tests.php --show-diff --show-slow 1000 --set-timeout 120 tests
121- env :
122- PDO_TEST_DIR : ${{ github.workspace }}/php-src/ext/pdo/tests
123- PDO_OCI_TEST_DIR : ${{ github.workspace }}/tests
124- PDO_OCI_TEST_USER : system
125- PDO_OCI_TEST_PASS : my_pass_21
126- PDO_OCI_TEST_DSN : oci:dbname=0.0.0.0:1521/XE;charset=AL32UTF8
127- - name : Run tests /w Oracle 23
128- if : success() || failure()
129- run : php php-src/run-tests.php --show-diff --show-slow 1000 --set-timeout 120 tests
130- env :
131- PDO_TEST_DIR : ${{ github.workspace }}/php-src/ext/pdo/tests
132- PDO_OCI_TEST_DIR : ${{ github.workspace }}/tests
133- PDO_OCI_TEST_USER : system
134- PDO_OCI_TEST_PASS : my_pass_23
135- PDO_OCI_TEST_DSN : oci:dbname=0.0.0.0:1523/FREEPDB1;charset=AL32UTF8
106+ PDO_OCI_TEST_DSN : oci:dbname=0.0.0.0:${{ matrix.port }}/${{ matrix.oracle == 23 && 'FREEPDB1' || 'XE' }};charset=AL32UTF8
136107
137108 windows-matrix :
138109 runs-on : ubuntu-latest
139110 outputs :
140111 matrix : ${{ steps.extension-matrix.outputs.matrix }}
141112 steps :
142113 - name : Checkout
143- uses : actions/checkout@v4
114+ uses : actions/checkout@v6
144115 - name : Create matrix
145116 id : extension-matrix
146117 uses : php/php-windows-builder/extension-matrix@v1
147118 with :
148- php-version-list : ' 8.3, 8.4, master '
119+ php-version-list : ' 8.3, 8.4, 8.5 '
149120
150121 windows :
151122 needs : windows-matrix
@@ -155,7 +126,7 @@ jobs:
155126 matrix : ${{fromJson(needs.windows-matrix.outputs.matrix)}}
156127 steps :
157128 - name : Checkout
158- uses : actions/checkout@v4
129+ uses : actions/checkout@v6
159130 - name : Build
160131 uses : php/php-windows-builder/extension@v1
161132 with :
0 commit comments