Skip to content

Commit 55506b2

Browse files
authored
Fix PHP 8.3 extensions; Drop 7.3, 7.4 and 8.0 support (#30)
1 parent ae1d029 commit 55506b2

File tree

20 files changed

+71
-47
lines changed

20 files changed

+71
-47
lines changed

.github/workflows/build.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ jobs:
2525
- heroku-20
2626
- heroku-22
2727
series:
28-
- 20180731 # PHP 7.3
29-
- 20190902 # PHP 7.4
30-
- 20200930 # PHP 8.0
3128
- 20210902 # PHP 8.1
3229
- 20220829 # PHP 8.2
3330
- 20230831 # PHP 8.3
@@ -37,49 +34,41 @@ jobs:
3734
uses: actions/checkout@v3
3835

3936
- name: Composer Install
40-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
4137
run: composer install --prefer-dist --no-progress --no-suggest --ignore-platform-reqs
4238

4339
- name: Copy requirements
44-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
4540
run: cp ${BUILDPACK}/requirements.txt .
4641

4742
- name: Build Dockerfile
48-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
4943
run: |
5044
cat ${BUILDPACK}/support/build/_docker/${{ matrix.stack }}.Dockerfile > docker/build/${{ matrix.stack }}.Dockerfile
5145
cat docker/${{ matrix.stack }}.Dockerfile >> docker/build/${{ matrix.stack }}.Dockerfile
5246
5347
- name: Docker build
54-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
5548
run: docker build --pull --tag ${{ matrix.stack }} --file docker/build/${{ matrix.stack }}.Dockerfile .
5649

5750
- name: Build liblzf library
58-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
5951
shell: 'script -q -e -c "bash {0}"'
6052
run: |
6153
docker run --rm -ti \
6254
--env-file=${BUILDPACK}/support/build/_docker/env.default \
6355
${{ matrix.stack }} deploy.sh --overwrite libraries/liblzf-3.6
6456
6557
- name: Build lz4 library
66-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
6758
shell: 'script -q -e -c "bash {0}"'
6859
run: |
6960
docker run --rm -ti \
7061
--env-file=${BUILDPACK}/support/build/_docker/env.default \
7162
${{ matrix.stack }} deploy.sh --overwrite libraries/lz4-1.9.3
7263
7364
- name: Build zstd library
74-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
7565
shell: 'script -q -e -c "bash {0}"'
7666
run: |
7767
docker run --rm -ti \
7868
--env-file=${BUILDPACK}/support/build/_docker/env.default \
7969
${{ matrix.stack }} deploy.sh --overwrite libraries/zstd-1.4.9
8070
8171
- name: Build igbinary extension
82-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
8372
shell: 'script -q -e -c "bash {0}"'
8473
run: |
8574
docker run --rm -ti \
@@ -90,7 +79,6 @@ jobs:
9079
extensions/no-debug-non-zts-${{ matrix.series }}/igbinary-3.2.15
9180
9281
- name: Build msgpack extension
93-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
9482
shell: 'script -q -e -c "bash {0}"'
9583
run: |
9684
docker run --rm -ti \
@@ -101,7 +89,6 @@ jobs:
10189
extensions/no-debug-non-zts-${{ matrix.series }}/msgpack-2.2.0
10290
10391
- name: Build redis extension
104-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
10592
shell: 'script -q -e -c "bash {0}"'
10693
run: |
10794
docker run --rm -ti \
@@ -112,7 +99,6 @@ jobs:
11299
extensions/no-debug-non-zts-${{ matrix.series }}/redis-6.0.2
113100
114101
- name: Build relay extension
115-
if: matrix.series != 20180731 && (matrix.stack != 'heroku-22' || matrix.series >= 20210902)
116102
shell: 'script -q -e -c "bash {0}"'
117103
run: |
118104
docker run --rm -ti \
@@ -122,8 +108,8 @@ jobs:
122108
${{ matrix.stack }} deploy.sh --overwrite \
123109
extensions/no-debug-non-zts-${{ matrix.series }}/relay-0.6.8
124110
125-
- name: Build swoole extension
126-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
111+
- name: Build swoole 4.x extension
112+
if: matrix.series <= 20220829
127113
shell: 'script -q -e -c "bash {0}"'
128114
run: |
129115
docker run --rm -ti \
@@ -133,8 +119,19 @@ jobs:
133119
${{ matrix.stack }} deploy.sh --overwrite \
134120
extensions/no-debug-non-zts-${{ matrix.series }}/swoole-4.8.13
135121
136-
- name: Build openswoole extension
137-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
122+
- name: Build swoole 5.x extension
123+
if: matrix.series >= 20230831
124+
shell: 'script -q -e -c "bash {0}"'
125+
run: |
126+
docker run --rm -ti \
127+
--env UPSTREAM_S3_BUCKET=lang-php \
128+
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
129+
--env-file=${BUILDPACK}/support/build/_docker/env.default \
130+
${{ matrix.stack }} deploy.sh --overwrite \
131+
extensions/no-debug-non-zts-${{ matrix.series }}/swoole-5.1.1
132+
133+
- name: Build openswoole 4.x extension
134+
if: matrix.series <= 20220829
138135
shell: 'script -q -e -c "bash {0}"'
139136
run: |
140137
docker run --rm -ti \
@@ -143,3 +140,14 @@ jobs:
143140
--env-file=${BUILDPACK}/support/build/_docker/env.default \
144141
${{ matrix.stack }} deploy.sh --overwrite \
145142
extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-4.12.1
143+
144+
- name: Build openswoole 22.x extension
145+
if: matrix.series >= 20230831
146+
shell: 'script -q -e -c "bash {0}"'
147+
run: |
148+
docker run --rm -ti \
149+
--env UPSTREAM_S3_BUCKET=lang-php \
150+
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
151+
--env-file=${BUILDPACK}/support/build/_docker/env.default \
152+
${{ matrix.stack }} deploy.sh --overwrite \
153+
extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-22.1.0

.github/workflows/mkrepo.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ jobs:
2121

2222
strategy:
2323
matrix:
24-
stack: ['heroku-20', 'heroku-22']
24+
stack:
25+
- heroku-20
26+
- heroku-22
2527

2628
env:
2729
S3_BUCKET: heroku-php-extensions

.github/workflows/pr.yml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,60 +23,50 @@ jobs:
2323
- heroku-20
2424
- heroku-22
2525
series:
26-
- 20180731 # PHP 7.3
27-
- 20190902 # PHP 7.4
28-
- 20200930 # PHP 8.0
2926
- 20210902 # PHP 8.1
3027
- 20220829 # PHP 8.2
28+
- 20230831 # PHP 8.3
3129

3230
steps:
3331
- name: Checkout
3432
uses: actions/checkout@v3
3533

3634
- name: Composer Install
37-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
3835
run: composer install --prefer-dist --no-progress --no-suggest --ignore-platform-reqs
3936

4037
- name: Copy requirements
41-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
4238
run: cp ${BUILDPACK}/requirements.txt .
4339

4440
- name: Build Dockerfile
45-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
4641
run: |
4742
cat ${BUILDPACK}/support/build/_docker/${{ matrix.stack }}.Dockerfile > docker/build/${{ matrix.stack }}.Dockerfile
4843
cat docker/${{ matrix.stack }}.Dockerfile >> docker/build/${{ matrix.stack }}.Dockerfile
4944
5045
- name: Docker build
51-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
5246
run: docker build --pull --tag ${{ matrix.stack }} --file docker/build/${{ matrix.stack }}.Dockerfile .
5347

5448
- name: Build liblzf library
55-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
5649
shell: 'script -q -e -c "bash {0}"'
5750
run: |
5851
docker run --rm -ti \
5952
--env-file=${BUILDPACK}/support/build/_docker/env.default \
6053
${{ matrix.stack }} deploy.sh --overwrite libraries/liblzf-3.6
6154
6255
- name: Build lz4 library
63-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
6456
shell: 'script -q -e -c "bash {0}"'
6557
run: |
6658
docker run --rm -ti \
6759
--env-file=${BUILDPACK}/support/build/_docker/env.default \
6860
${{ matrix.stack }} deploy.sh --overwrite libraries/lz4-1.9.3
6961
7062
- name: Build zstd library
71-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
7263
shell: 'script -q -e -c "bash {0}"'
7364
run: |
7465
docker run --rm -ti \
7566
--env-file=${BUILDPACK}/support/build/_docker/env.default \
7667
${{ matrix.stack }} deploy.sh --overwrite libraries/zstd-1.4.9
7768
7869
- name: Build igbinary extension
79-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
8070
shell: 'script -q -e -c "bash {0}"'
8171
run: |
8272
docker run --rm -ti \
@@ -86,7 +76,6 @@ jobs:
8676
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/igbinary-3.2.15
8777
8878
- name: Build msgpack extension
89-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
9079
shell: 'script -q -e -c "bash {0}"'
9180
run: |
9281
docker run --rm -ti \
@@ -96,7 +85,6 @@ jobs:
9685
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/msgpack-2.2.0
9786
9887
- name: Build redis extension
99-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
10088
shell: 'script -q -e -c "bash {0}"'
10189
run: |
10290
docker run --rm -ti \
@@ -106,7 +94,6 @@ jobs:
10694
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/redis-6.0.2
10795
10896
- name: Build relay extension
109-
if: matrix.series != 20180731 && (matrix.stack != 'heroku-22' || matrix.series >= 20210902)
11097
shell: 'script -q -e -c "bash {0}"'
11198
run: |
11299
docker run --rm -ti \
@@ -115,8 +102,8 @@ jobs:
115102
--env-file=${BUILDPACK}/support/build/_docker/env.default \
116103
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/relay-0.6.8
117104
118-
- name: Build swoole extension
119-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
105+
- name: Build swoole 4.x extension
106+
if: matrix.series <= 20220829
120107
shell: 'script -q -e -c "bash {0}"'
121108
run: |
122109
docker run --rm -ti \
@@ -125,8 +112,18 @@ jobs:
125112
--env-file=${BUILDPACK}/support/build/_docker/env.default \
126113
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/swoole-4.8.13
127114
128-
- name: Build openswoole extension
129-
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
115+
- name: Build swoole 5.x extension
116+
if: matrix.series >= 20230831
117+
shell: 'script -q -e -c "bash {0}"'
118+
run: |
119+
docker run --rm -ti \
120+
--env UPSTREAM_S3_BUCKET=lang-php \
121+
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
122+
--env-file=${BUILDPACK}/support/build/_docker/env.default \
123+
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/swoole-5.1.1
124+
125+
- name: Build openswoole 4.x extension
126+
if: matrix.series <= 20220829
130127
shell: 'script -q -e -c "bash {0}"'
131128
run: |
132129
docker run --rm -ti \
@@ -135,6 +132,16 @@ jobs:
135132
--env-file=${BUILDPACK}/support/build/_docker/env.default \
136133
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-4.12.1
137134
135+
- name: Build openswoole 22.x extension
136+
if: matrix.series >= 20230831
137+
shell: 'script -q -e -c "bash {0}"'
138+
run: |
139+
docker run --rm -ti \
140+
--env UPSTREAM_S3_BUCKET=lang-php \
141+
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
142+
--env-file=${BUILDPACK}/support/build/_docker/env.default \
143+
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-22.1.0
144+
138145
mkrepo:
139146
name: Make repository
140147
runs-on: ubuntu-latest
@@ -143,7 +150,9 @@ jobs:
143150

144151
strategy:
145152
matrix:
146-
stack: ['heroku-20', 'heroku-22']
153+
stack:
154+
- heroku-20
155+
- heroku-22
147156

148157
steps:
149158
- name: Checkout

.github/workflows/sync.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ jobs:
1515

1616
strategy:
1717
matrix:
18-
stack: ['heroku-20', 'heroku-22']
18+
stack:
19+
- heroku-20
20+
- heroku-22
1921

2022
env:
2123
S3_BUCKET: heroku-php-extensions

CHANGELOG.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [1.3.0] - 2023-12-12
8+
## [2.0.0] - 2023-12-12
99
- Added PHP 8.2 and 8.3 support
10+
- Dropped `heroku-18` support
11+
- Dropped PHP 7.3, 7.4 and 8.0 support
12+
- Upgraded Swoole to v5.1.1 for PHP 8.3
13+
- Upgraded OpenSwoole to v22.1.0 for PHP 8.3
14+
- Updated Swoole to v4.8.13
15+
- Updated OpenSwoole to v4.12.1
16+
- Updated [Relay](https://github.com/cachewerk) to v0.6.8
1017
- Updated PhpRedis to v6.0.2
1118
- Updated igbinary to v3.2.15
1219
- Updated msgpack to v2.2.0
13-
- Updated [Relay](https://github.com/cachewerk) to v0.6.8
14-
- Updated Swoole to v4.8.13
15-
- Updated OpenSwoole to v4.12.1
16-
- Removed `heroku-18` support
1720

1821
## [1.2.6] - 2022-10-11
1922
- Added support for `heroku-22` stack

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-
102102
docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-zts-20200930/relay-0.6.8
103103

104104
# Build swoole
105-
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/swoole-4.8.13
105+
docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-zts-20200930/swoole-4.8.13
106106

107107
# Build openswoole
108-
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/openswoole-4.12.1
108+
docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-zts-20200930/openswoole-4.12.1
109109
```

extensions/no-debug-non-zts-20131226/openswoole

100644100755
File mode changed.

extensions/no-debug-non-zts-20180731/openswoole-4.12.1

100644100755
File mode changed.

extensions/no-debug-non-zts-20180731/swoole-4.8.13

100644100755
File mode changed.

extensions/no-debug-non-zts-20190902/openswoole-4.12.1

100644100755
File mode changed.

0 commit comments

Comments
 (0)