@@ -6,7 +6,7 @@ concurrency:
66
77on :
88 push :
9- branches : [main]
9+ branches : [main,heroku26-swoole62 ]
1010 workflow_dispatch :
1111 workflow_call :
1212 inputs :
2222 env :
2323 S3_BUCKET : ${{ secrets.S3_BUCKET || 'heroku-php-extensions' }}
2424 S3_PREFIX : ${{ inputs.S3_PREFIX || matrix.stack.prefix }}
25+ S3_REGION : ${{ secrets.S3_REGION || 'us-east-1' }}
2526 BUILDPACK : ./vendor/heroku/heroku-buildpack-php
2627 AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
2728 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
3031 fail-fast : false
3132 matrix :
3233 stack :
33- - name : " heroku-22"
34- arch : " amd64"
35- prefix : " dist-heroku-22-develop/"
36- upstream : " dist-heroku-22-stable/"
37- os : " ubuntu-latest"
3834 - name : " heroku-24"
3935 arch : " amd64"
4036 prefix : " dist-heroku-24-amd64-develop/"
@@ -45,31 +41,41 @@ jobs:
4541 prefix : " dist-heroku-24-arm64-develop/"
4642 upstream : " dist-heroku-24-arm64-stable/"
4743 os : " ubuntu-24.04-arm"
44+ - name : " heroku-26"
45+ arch : " amd64"
46+ prefix : " dist-heroku-26-amd64-develop/"
47+ upstream : " dist-heroku-26-amd64-stable/"
48+ os : " ubuntu-latest"
49+ - name : " heroku-26"
50+ arch : " arm64"
51+ prefix : " dist-heroku-26-arm64-develop/"
52+ upstream : " dist-heroku-26-arm64-stable/"
53+ os : " ubuntu-24.04-arm"
4854 series :
49- - { version: 20210902, php: "8.1", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["4.8.13", "5.1.8", "6.1.7"], openswoole: ["4.12.1", "22.1.2"] }
50- - { version: 20220829, php: "8.2", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["4.8.13", "5.1.8", "6.1.7"], openswoole: ["22.1.2", "25.2.0", "26.2.0"] }
51- - { version: 20230831, php: "8.3", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["5.1.8", "6.1.7"], openswoole: ["22.1.2", "25.2.0", "26.2.0"] }
52- - { version: 20240924, php: "8.4", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["6.3.0"], relay: ["0.21.0"], swoole: ["6.1.7"], openswoole: ["25.2.0", "26.2.0"] }
53- - { version: 20250925, php: "8.5", liblzf: "3.6", lz4: "1.10.0", zstd: "1.5.7", igbinary: "3.2.17RC1", msgpack: "2.2.0", redis: ["6.3.0"], relay: ["0.21.0"], swoole: ["6.2.0RC1 "], openswoole: ["26.2.0"] }
55+ - { php: "8.1", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["4.8.13", "5.1.8", "6.1.7"], openswoole: ["4.12.1", "22.1.2"] }
56+ - { php: "8.2", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["4.8.13", "5.1.8", "6.1.7"], openswoole: ["22.1.2", "25.2.0", "26.2.0"] }
57+ - { php: "8.3", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["5.3.7", "6.3.0"], relay: ["0.21.0"], swoole: ["5.1.8", "6.1.7"], openswoole: ["22.1.2", "25.2.0", "26.2.0"] }
58+ - { php: "8.4", liblzf: "3.6", lz4: "1.9.3", zstd: "1.4.9", igbinary: "3.2.15", msgpack: "2.2.0", redis: ["6.3.0"], relay: ["0.21.0"], swoole: ["6.1.7"], openswoole: ["25.2.0", "26.2.0"] }
59+ - { php: "8.5", liblzf: "3.6", lz4: "1.10.0", zstd: "1.5.7", igbinary: "3.2.17RC1", msgpack: "2.2.0", redis: ["6.3.0"], relay: ["0.21.0"], swoole: ["6.2.1 "], openswoole: ["26.2.0"] }
5460 exclude :
5561 # heroku-24 no longer supports php-8.1
5662 - stack :
5763 name : " heroku-24"
5864 series :
59- version : 20210902
60- include :
61- # heroku-24 cannot compile openswoole 4.12.1 anymore, include for heroku-22 only
65+ php : " 8.1"
66+ # heroku-26 no longer supports php-8.1, 8.2, 8.3
6267 - stack :
63- name : " heroku-22"
64- arch : " amd64"
65- prefix : " dist-heroku-22-develop/"
66- upstream : " dist-heroku-22-stable/"
67- os : " ubuntu-latest"
68+ name : " heroku-26"
6869 series :
69- version : 20220829
70+ php : " 8.1"
71+ - stack :
72+ name : " heroku-26"
73+ series :
7074 php : " 8.2"
71- openswoole :
72- - " 4.12.1"
75+ - stack :
76+ name : " heroku-26"
77+ series :
78+ php : " 8.3"
7379
7480 steps :
7581 - name : Checkout
98104 for (const { tag_name, prerelease, draft } of data) {
99105 const m = !prerelease && !draft && tag_name.match(re);
100106 if (!m) continue;
101- const res = await fetch(`https://lang -php.s3.amazonaws.com/${prefix}php-${m[1]}.tar.gz`, { method: 'HEAD' });
107+ const res = await fetch(`https://heroku-buildpack -php.s3.amazonaws.com/${prefix}php-${m[1]}.tar.gz`, { method: 'HEAD' });
102108 if (res.ok) { core.exportVariable('PHP_VERSION', m[1]); break; }
103109 }
104110
@@ -112,35 +118,35 @@ jobs:
112118 run : ./scripts/build-lib.sh ${{ matrix.stack.name }} zstd "${{ matrix.series.zstd }}" true
113119
114120 - name : Build igbinary extension
115- run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} igbinary "${{ matrix.series.igbinary }}" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
121+ run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} igbinary "${{ matrix.series.igbinary }}" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
116122
117123 - name : Build msgpack extension
118- run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} msgpack "${{ matrix.series.msgpack }}" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
124+ run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} msgpack "${{ matrix.series.msgpack }}" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
119125
120126 - name : Build redis extensions
121127 run : |
122128 set -e
123129 for VERSION in ${{ join(matrix.series.redis, ' ') }}; do
124- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} redis "$VERSION" "php-${{ env.PHP_VERSION }},libraries/ liblzf-*,libraries/ lz4-*,libraries/ zstd-*,extensions/no-debug-non-zts- ${{ matrix.series.version }}/igbinary-*,extensions/no-debug-non-zts- ${{ matrix.series.version }}/msgpack-* " ${{ matrix.stack.upstream }} true
130+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} redis "$VERSION" "php-${{ env.PHP_VERSION }},liblzf-*,lz4-*,zstd-*,ext-igbinary-*_php- ${{ matrix.series.php }},ext-msgpack-*_php- ${{ matrix.series.php }}" ${{ matrix.stack.upstream }} true
125131 done
126132
127133 - name : Build relay extension
128134 run : |
129135 set -e
130136 for VERSION in ${{ join(matrix.series.relay, ' ') }}; do
131- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} relay "$VERSION" "php-${{ env.PHP_VERSION }},libraries/ liblzf-*,libraries/ lz4-*,libraries/ zstd-*,extensions/no-debug-non-zts- ${{ matrix.series.version }}/igbinary-*,extensions/no-debug-non-zts- ${{ matrix.series.version }}/msgpack-* " ${{ matrix.stack.upstream }} true
137+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} relay "$VERSION" "php-${{ env.PHP_VERSION }},liblzf-*,lz4-*,zstd-*,ext-igbinary-*_php- ${{ matrix.series.php }},ext-msgpack-*_php- ${{ matrix.series.php }}" ${{ matrix.stack.upstream }} true
132138 done
133139
134140 - name : Build swoole extension
135141 run : |
136142 set -e
137143 for VERSION in ${{ join(matrix.series.swoole, ' ') }}; do
138- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} swoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
144+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} swoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
139145 done
140146
141147 - name : Build openswoole extension
142148 run : |
143149 set -e
144150 for VERSION in ${{ join(matrix.series.openswoole, ' ') }}; do
145- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} openswoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
151+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} openswoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
146152 done
0 commit comments