Skip to content

Commit

Permalink
Fix PHP 8.3 extensions; Drop 7.3, 7.4 and 8.0 support (#30)
Browse files Browse the repository at this point in the history
  • Loading branch information
tillkruss authored Dec 12, 2023
1 parent ae1d029 commit 55506b2
Show file tree
Hide file tree
Showing 20 changed files with 71 additions and 47 deletions.
44 changes: 26 additions & 18 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ jobs:
- heroku-20
- heroku-22
series:
- 20180731 # PHP 7.3
- 20190902 # PHP 7.4
- 20200930 # PHP 8.0
- 20210902 # PHP 8.1
- 20220829 # PHP 8.2
- 20230831 # PHP 8.3
Expand All @@ -37,49 +34,41 @@ jobs:
uses: actions/checkout@v3

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

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

- name: Build Dockerfile
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
run: |
cat ${BUILDPACK}/support/build/_docker/${{ matrix.stack }}.Dockerfile > docker/build/${{ matrix.stack }}.Dockerfile
cat docker/${{ matrix.stack }}.Dockerfile >> docker/build/${{ matrix.stack }}.Dockerfile
- name: Docker build
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
run: docker build --pull --tag ${{ matrix.stack }} --file docker/build/${{ matrix.stack }}.Dockerfile .

- name: Build liblzf library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/liblzf-3.6
- name: Build lz4 library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/lz4-1.9.3
- name: Build zstd library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/zstd-1.4.9
- name: Build igbinary extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -90,7 +79,6 @@ jobs:
extensions/no-debug-non-zts-${{ matrix.series }}/igbinary-3.2.15
- name: Build msgpack extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -101,7 +89,6 @@ jobs:
extensions/no-debug-non-zts-${{ matrix.series }}/msgpack-2.2.0
- name: Build redis extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -112,7 +99,6 @@ jobs:
extensions/no-debug-non-zts-${{ matrix.series }}/redis-6.0.2
- name: Build relay extension
if: matrix.series != 20180731 && (matrix.stack != 'heroku-22' || matrix.series >= 20210902)
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -122,8 +108,8 @@ jobs:
${{ matrix.stack }} deploy.sh --overwrite \
extensions/no-debug-non-zts-${{ matrix.series }}/relay-0.6.8
- name: Build swoole extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
- name: Build swoole 4.x extension
if: matrix.series <= 20220829
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -133,8 +119,19 @@ jobs:
${{ matrix.stack }} deploy.sh --overwrite \
extensions/no-debug-non-zts-${{ matrix.series }}/swoole-4.8.13
- name: Build openswoole extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
- name: Build swoole 5.x extension
if: matrix.series >= 20230831
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env UPSTREAM_S3_BUCKET=lang-php \
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite \
extensions/no-debug-non-zts-${{ matrix.series }}/swoole-5.1.1
- name: Build openswoole 4.x extension
if: matrix.series <= 20220829
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -143,3 +140,14 @@ jobs:
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite \
extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-4.12.1
- name: Build openswoole 22.x extension
if: matrix.series >= 20230831
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env UPSTREAM_S3_BUCKET=lang-php \
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite \
extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-22.1.0
4 changes: 3 additions & 1 deletion .github/workflows/mkrepo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ jobs:

strategy:
matrix:
stack: ['heroku-20', 'heroku-22']
stack:
- heroku-20
- heroku-22

env:
S3_BUCKET: heroku-php-extensions
Expand Down
47 changes: 28 additions & 19 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,60 +23,50 @@ jobs:
- heroku-20
- heroku-22
series:
- 20180731 # PHP 7.3
- 20190902 # PHP 7.4
- 20200930 # PHP 8.0
- 20210902 # PHP 8.1
- 20220829 # PHP 8.2
- 20230831 # PHP 8.3

steps:
- name: Checkout
uses: actions/checkout@v3

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

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

- name: Build Dockerfile
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
run: |
cat ${BUILDPACK}/support/build/_docker/${{ matrix.stack }}.Dockerfile > docker/build/${{ matrix.stack }}.Dockerfile
cat docker/${{ matrix.stack }}.Dockerfile >> docker/build/${{ matrix.stack }}.Dockerfile
- name: Docker build
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
run: docker build --pull --tag ${{ matrix.stack }} --file docker/build/${{ matrix.stack }}.Dockerfile .

- name: Build liblzf library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/liblzf-3.6
- name: Build lz4 library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/lz4-1.9.3
- name: Build zstd library
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite libraries/zstd-1.4.9
- name: Build igbinary extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -86,7 +76,6 @@ jobs:
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/igbinary-3.2.15
- name: Build msgpack extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -96,7 +85,6 @@ jobs:
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/msgpack-2.2.0
- name: Build redis extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -106,7 +94,6 @@ jobs:
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/redis-6.0.2
- name: Build relay extension
if: matrix.series != 20180731 && (matrix.stack != 'heroku-22' || matrix.series >= 20210902)
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -115,8 +102,8 @@ jobs:
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/relay-0.6.8
- name: Build swoole extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
- name: Build swoole 4.x extension
if: matrix.series <= 20220829
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -125,8 +112,18 @@ jobs:
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/swoole-4.8.13
- name: Build openswoole extension
if: matrix.stack != 'heroku-22' || matrix.series >= 20210902
- name: Build swoole 5.x extension
if: matrix.series >= 20230831
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env UPSTREAM_S3_BUCKET=lang-php \
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/swoole-5.1.1
- name: Build openswoole 4.x extension
if: matrix.series <= 20220829
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
Expand All @@ -135,6 +132,16 @@ jobs:
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-4.12.1
- name: Build openswoole 22.x extension
if: matrix.series >= 20230831
shell: 'script -q -e -c "bash {0}"'
run: |
docker run --rm -ti \
--env UPSTREAM_S3_BUCKET=lang-php \
--env UPSTREAM_S3_PREFIX=dist-${{ matrix.stack }}-stable/ \
--env-file=${BUILDPACK}/support/build/_docker/env.default \
${{ matrix.stack }} deploy.sh --overwrite extensions/no-debug-non-zts-${{ matrix.series }}/openswoole-22.1.0
mkrepo:
name: Make repository
runs-on: ubuntu-latest
Expand All @@ -143,7 +150,9 @@ jobs:

strategy:
matrix:
stack: ['heroku-20', 'heroku-22']
stack:
- heroku-20
- heroku-22

steps:
- name: Checkout
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ jobs:

strategy:
matrix:
stack: ['heroku-20', 'heroku-22']
stack:
- heroku-20
- heroku-22

env:
S3_BUCKET: heroku-php-extensions
Expand Down
13 changes: 8 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

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

## [1.2.6] - 2022-10-11
- Added support for `heroku-22` stack
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-
docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-zts-20200930/relay-0.6.8

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

# Build openswoole
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/openswoole-4.12.1
docker run --rm -ti --env-file=.env heroku-22 bob build extensions/no-debug-non-zts-20200930/openswoole-4.12.1
```
Empty file modified extensions/no-debug-non-zts-20131226/openswoole
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20180731/openswoole-4.12.1
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20180731/swoole-4.8.13
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20190902/openswoole-4.12.1
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20190902/swoole-4.8.13
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20200930/openswoole-4.12.1
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20200930/swoole-4.8.13
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20210902/openswoole-4.12.1
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20210902/swoole-4.8.13
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20220829/openswoole-4.12.1
100644 → 100755
Empty file.
Empty file modified extensions/no-debug-non-zts-20220829/swoole-4.8.13
100644 → 100755
Empty file.
File renamed without changes.
2 changes: 1 addition & 1 deletion extensions/no-debug-non-zts-20230831/relay-0.6.8
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/php
# Build Deps: php-8.3.*, libraries/liblzf-*, libraries/lz4-*, libraries/zstd-*, extensions/no-debug-non-zts-20220829/igbinary-*, extensions/no-debug-non-zts-20220829/msgpack-*
# Build Deps: php-8.3.*, libraries/liblzf-*, libraries/lz4-*, libraries/zstd-*, extensions/no-debug-non-zts-20230831/igbinary-*, extensions/no-debug-non-zts-20230831/msgpack-*

source $(dirname $0)/../no-debug-non-zts-20131226/relay
File renamed without changes.

0 comments on commit 55506b2

Please sign in to comment.