8787 - name : Docker build
8888 run : ./scripts/build-dockerfile.sh ${{ matrix.stack.name }}
8989
90+ - name : Resolve PHP version
91+ uses : actions/github-script@v7
92+ with :
93+ script : |
94+ const minor = '${{ matrix.series.php }}';
95+ const prefix = '${{ matrix.stack.upstream }}';
96+ const re = new RegExp(`^php-(${minor.replace(/\./g, '\\.')}\.\\d+)$`);
97+ const { data } = await github.rest.repos.listReleases({ owner: 'php', repo: 'php-src', per_page: 100 });
98+ for (const { tag_name, prerelease, draft } of data) {
99+ const m = !prerelease && !draft && tag_name.match(re);
100+ if (!m) continue;
101+ const res = await fetch(`https://lang-php.s3.amazonaws.com/${prefix}php-${m[1]}.tar.gz`, { method: 'HEAD' });
102+ if (res.ok) { core.exportVariable('PHP_VERSION', m[1]); break; }
103+ }
104+
90105 - name : Build liblzf library
91106 run : ./scripts/build-lib.sh ${{ matrix.stack.name }} liblzf "${{ matrix.series.liblzf }}" true
92107
@@ -97,35 +112,35 @@ jobs:
97112 run : ./scripts/build-lib.sh ${{ matrix.stack.name }} zstd "${{ matrix.series.zstd }}" true
98113
99114 - name : Build igbinary extension
100- run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} igbinary "${{ matrix.series.igbinary }}" "php-${{ matrix.series.php }}.* " ${{ matrix.stack.upstream }} true
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
101116
102117 - name : Build msgpack extension
103- run : ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} msgpack "${{ matrix.series.msgpack }}" "php-${{ matrix.series.php }}.* " ${{ matrix.stack.upstream }} true
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
104119
105120 - name : Build redis extensions
106121 run : |
107122 set -e
108123 for VERSION in ${{ join(matrix.series.redis, ' ') }}; do
109- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} redis "$VERSION" "php-${{ matrix.series.php }}.* ,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
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
110125 done
111126
112127 - name : Build relay extension
113128 run : |
114129 set -e
115130 for VERSION in ${{ join(matrix.series.relay, ' ') }}; do
116- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} relay "$VERSION" "php-${{ matrix.series.php }}.* ,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
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
117132 done
118133
119134 - name : Build swoole extension
120135 run : |
121136 set -e
122137 for VERSION in ${{ join(matrix.series.swoole, ' ') }}; do
123- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} swoole "$VERSION" "php-${{ matrix.series.php }}.* " ${{ matrix.stack.upstream }} true
138+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} swoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
124139 done
125140
126141 - name : Build openswoole extension
127142 run : |
128143 set -e
129144 for VERSION in ${{ join(matrix.series.openswoole, ' ') }}; do
130- ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} openswoole "$VERSION" "php-${{ matrix.series.php }}.* " ${{ matrix.stack.upstream }} true
145+ ./scripts/build-extension.sh ${{ matrix.stack.name }} ${{ matrix.series.php }} ${{ matrix.series.version }} openswoole "$VERSION" "php-${{ env.PHP_VERSION }}" ${{ matrix.stack.upstream }} true
131146 done
0 commit comments