Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
fa2e041
test shared grpc, imagick
henderkes Sep 18, 2025
40f89d1
is shared_libadd enough?
henderkes Sep 18, 2025
b0538c0
deduplicate those to make it more readable
henderkes Sep 18, 2025
83696e9
remove whitespace
henderkes Sep 18, 2025
81430e6
also use libstdc++.a for grpc?
henderkes Sep 18, 2025
d0b253c
not required
henderkes Sep 18, 2025
e323d7b
revert to private
henderkes Sep 18, 2025
927d7f5
make sure -ldl is not taken as needed, problem on EL8
henderkes Sep 18, 2025
44399cd
remove -Wl,--as-needed for imagemagick build
henderkes Sep 19, 2025
dcbfe1e
e-dant/watcher is a c++ library too
henderkes Sep 19, 2025
8dfe722
Merge branch 'main' into fix/grpc-shared
henderkes Sep 19, 2025
fa87149
shallow submodules as well (grpc download goes from 2.9 gb to 900mb)
henderkes Sep 21, 2025
35a90f2
skip -mcpu or -march=armv8-... flags because zig doesn't support them…
henderkes Sep 21, 2025
e02be69
update grpc from 1.68.x to 1.75.x
henderkes Sep 21, 2025
fc90b4a
allow appending pkg_config_path #910
henderkes Sep 22, 2025
8039ea4
soap requires libxml and session
henderkes Sep 23, 2025
8bda4fd
simdjson requires +evex512
henderkes Sep 23, 2025
59dedbe
simdjson requires +evex512 (for zig-cc)
henderkes Sep 23, 2025
93e6dca
cflags and cxxflags separately
henderkes Sep 23, 2025
21149f6
simdjson needs patch
henderkes Sep 23, 2025
cac57db
php 8.5 has beta 3
henderkes Sep 29, 2025
e862bac
php 8.5 has beta 3
henderkes Sep 29, 2025
8b2b658
Merge branch 'main' into fix/grpc-shared
henderkes Sep 29, 2025
c2813d5
move hasCpp to SPCConfigUtil
henderkes Sep 29, 2025
fe09d8c
add docstring
henderkes Sep 29, 2025
b0b031a
add docstring
henderkes Sep 29, 2025
5b6c923
snappy is a c++ lib
henderkes Sep 29, 2025
f774418
fix configutil
henderkes Sep 29, 2025
2d1a61d
explicitly disable avx512 if zig and march not high enough
henderkes Sep 30, 2025
c5316f9
-v3 doesn't have avx512 yet
henderkes Sep 30, 2025
044275d
typo
henderkes Sep 30, 2025
31a4498
bring back simdjson tests, extension headers do not properly guard fo…
henderkes Sep 30, 2025
3966bd5
update pgsql version to 18.0
henderkes Oct 6, 2025
8ae2755
update php 8.5 to rc1
henderkes Oct 6, 2025
a49ae05
use latest zip version for building shared
henderkes Oct 6, 2025
0f2d2d5
test pgsql without macos 13
henderkes Oct 6, 2025
e437bf2
don't test macos 13
henderkes Oct 6, 2025
c444066
make sure -DFRONTEND is used
henderkes Oct 6, 2025
6c43fa5
don't use -static, shared libraries cannot link against static musl l…
henderkes Oct 6, 2025
781260f
attempt fix for aarch64
henderkes Oct 6, 2025
17a25b4
attempt fix for aarch64 #2
henderkes Oct 6, 2025
d789b1a
fix musl toolchain (needs LD_LIBRARY_PATH)
henderkes Oct 6, 2025
9ee6231
attempt to fix macOS?
henderkes Oct 6, 2025
864db0e
fix macos finally I hope
henderkes Oct 6, 2025
15cd854
arm64 fix
henderkes Oct 6, 2025
3467c9d
patch correct file
henderkes Oct 6, 2025
911bc74
add libedit
henderkes Oct 8, 2025
ffdc2dc
fix #918 (use COPYING.LIB instead of COPYING for libiconv)
henderkes Oct 8, 2025
4e2d4f3
fix ncurses build error (?: [] in case of false)
henderkes Oct 8, 2025
31906b3
reorder stuff for readline
henderkes Oct 8, 2025
6b91570
fix clang musl compilation
henderkes Oct 8, 2025
896cf88
test readline
henderkes Oct 8, 2025
f0c39c1
fix #19871
henderkes Oct 8, 2025
565ac87
only apply readline fix for CLI compilation on linux
henderkes Oct 8, 2025
b9dfb5a
maybe better this way
henderkes Oct 8, 2025
330c348
extra readline check to make sure -a works
henderkes Oct 8, 2025
cc7eb7c
Merge remote-tracking branch 'origin/main' into libedit
henderkes Oct 8, 2025
6594811
remove pointless SPC_CMD_PREFIX_PHP_MAKE
henderkes Oct 8, 2025
f8d77b9
remove pointless comments
henderkes Oct 8, 2025
fa4d336
update to RC2
henderkes Oct 10, 2025
c83e803
Merge branch 'main' into pgsql-18
henderkes Oct 10, 2025
018dfae
suggestions
henderkes Oct 11, 2025
8a1689b
don't fail build without ldap
henderkes Oct 11, 2025
897cb00
Use failsafe for SPC_EXTRA_PHP_VARS
crazywhalecc Oct 12, 2025
6d6a293
fix building of shared extensions (grpc, simdjson, soap) (#905)
henderkes Oct 12, 2025
ae1193a
Merge branch 'main' into pgsql-18
henderkes Oct 12, 2025
26ccaa4
Merge branch 'main' into libedit
henderkes Oct 12, 2025
c828c2c
Merge branch 'main' into feature/shared-exts
henderkes Oct 12, 2025
f28a3cf
Drop macos-13 from actions runner
crazywhalecc Oct 12, 2025
6bd3eea
Use SPCConfigUtil for postgresql build, refactor patches
crazywhalecc Oct 12, 2025
903036f
Bump version
crazywhalecc Oct 12, 2025
6e79401
Add missing libs for suggested option defined
crazywhalecc Oct 12, 2025
19be526
add error
henderkes Oct 12, 2025
5333a04
clarification
henderkes Oct 12, 2025
995187d
extra information for steps
henderkes Oct 12, 2025
d0a6e3a
update pgsql version to 18.0, php 8.5 to RC2 (#916)
henderkes Oct 12, 2025
762a768
Merge branch 'main' into feature/shared-exts
henderkes Oct 12, 2025
1bac06f
Remove more macOS 14 case from shared extensions switch
crazywhalecc Oct 13, 2025
1e13eb4
Merge branch 'main' into ci/macos-15-intel
henderkes Oct 13, 2025
a3acad4
Update config/source.json
henderkes Oct 13, 2025
61cba23
Drop macos-13 from actions runner (#922)
henderkes Oct 13, 2025
033e299
Merge branch 'main' into feature/shared-exts
henderkes Oct 13, 2025
ec9364d
use latest zip version for building shared (#917)
henderkes Oct 13, 2025
0114700
Fix PostgreSQL build compatibility for aarch64 on glibc 2.17 and upda…
crazywhalecc Oct 13, 2025
7b6e707
Remove unnecessary macOS 15 bug CFLAGS from PostgreSQL build configur…
crazywhalecc Oct 13, 2025
c5ae719
Update src/SPC/builder/unix/library/postgresql.php
crazywhalecc Oct 13, 2025
e942b13
Merge branch 'main' into libedit
henderkes Oct 13, 2025
487c6da
switch readline to libedit (#919)
henderkes Oct 15, 2025
c711a36
Add Windows CGI SAPI build support
crazywhalecc Oct 15, 2025
b62f029
cs fix
crazywhalecc Oct 15, 2025
9c8fd4d
cs fix
crazywhalecc Oct 15, 2025
4b28d1c
test
crazywhalecc Oct 15, 2025
1d960a9
test
crazywhalecc Oct 15, 2025
572bf91
test
crazywhalecc Oct 15, 2025
5b319b0
test
crazywhalecc Oct 15, 2025
9b53133
test
crazywhalecc Oct 15, 2025
6a98a6b
Use BUILD_BIN_PATH instead
crazywhalecc Oct 15, 2025
e559dce
Reduce tests
crazywhalecc Oct 15, 2025
70bda26
Fix patches, add more debug comments
crazywhalecc Oct 15, 2025
4f8b9d0
Fix patches
crazywhalecc Oct 15, 2025
bf79134
Fix tsrmls cache define patches
crazywhalecc Oct 16, 2025
dc4dd6f
Full test
crazywhalecc Oct 16, 2025
25d7c72
use the upstream version
henderkes Oct 16, 2025
6440863
Remove igbinary
crazywhalecc Oct 17, 2025
4be894b
Remove ds and gd test
crazywhalecc Oct 17, 2025
ccf262d
Update test workflow to trigger on pull request events only
crazywhalecc Oct 13, 2025
9ed77c1
use the spx upstream version (#931)
henderkes Oct 17, 2025
15638ce
Add log dir expose, unify SPC_FIX_DEPLOY_ROOT parsing
crazywhalecc Oct 17, 2025
b1abff6
don't use full install target, don't install-binaries
henderkes Oct 18, 2025
8ed68f4
don't pass unused envs
henderkes Oct 18, 2025
e281d26
Merge remote-tracking branch 'origin' into fix/frankenphp-readline
henderkes Oct 18, 2025
29c31d9
also only do that for macos (saves build time)
henderkes Oct 18, 2025
8923077
don't use full install target, don't install-binaries (#932)
henderkes Oct 18, 2025
9c8b4d6
also install-modules of course...
henderkes Oct 19, 2025
8ab0989
conditional install-modules
henderkes Oct 19, 2025
4cdefea
test with modules to build
henderkes Oct 19, 2025
605c06f
Add pie support for downloading sources
crazywhalecc Oct 20, 2025
e2fd3e1
Refactor ConfigValidator, make it more strict
crazywhalecc Oct 20, 2025
4e4ce28
Fix zip extract not strip dir bug
crazywhalecc Oct 20, 2025
49cfcbe
Update docs
crazywhalecc Oct 20, 2025
5e229a0
Update dependencies
crazywhalecc Oct 20, 2025
f8801e2
phpstan fix
crazywhalecc Oct 20, 2025
487980c
phpunit fix
crazywhalecc Oct 20, 2025
3103358
use libedit for postgreqsql
henderkes Oct 20, 2025
32efeb9
don't build ossfuzzer for zip
henderkes Oct 20, 2025
bba390d
add runtime libs to unixshell (debian 11 is stupid and doesn't add th…
henderkes Oct 20, 2025
6a153f9
also install-modules of course... (#933)
henderkes Oct 21, 2025
dd752cd
Fix windows 7z unzip strip function, fix windows pkg extract files path
crazywhalecc Oct 21, 2025
b519291
PIE download support & Downloader and ConfigValidator enhance (#934)
crazywhalecc Oct 21, 2025
41fb29e
Feat/pie (#936)
crazywhalecc Oct 21, 2025
2e13be2
prevent libedit from building strlcat/strlcpy, no idea why their sour…
henderkes Oct 21, 2025
4e39388
no idea why our source has that uncommented
henderkes Oct 21, 2025
96592bc
fix
henderkes Oct 21, 2025
553b817
prevent libedit from building strlcat/strlcpy, no idea why their sour…
henderkes Oct 21, 2025
ac8a9af
Update license path for attr package
henderkes Oct 22, 2025
6789ea8
Update license path for acl in source.json
henderkes Oct 22, 2025
55322a2
Fix rename cross-device link bug (using copy-delete)
crazywhalecc Oct 23, 2025
c6de6e7
test zip unarchive
crazywhalecc Oct 23, 2025
d3e2b4b
don't even build tools in the first place
henderkes Oct 23, 2025
3564f6d
Fix zip archive strip function for cross-device move (#942)
henderkes Oct 23, 2025
72ca0ce
Update license path for attr package (#941)
henderkes Oct 23, 2025
8a9c8a2
why does this fix compilation?
henderkes Oct 23, 2025
8e96c64
add stdext to swoole
henderkes Oct 23, 2025
8e50af3
update to rc3
henderkes Oct 23, 2025
ef5e664
don't build iconv program, or gettext programs
henderkes Oct 23, 2025
da8debd
test php 8.5 with gettext
henderkes Oct 23, 2025
7bc4131
use correct license for gettext as we only build libs now, update gmp…
henderkes Oct 23, 2025
be51bcf
Fix libevent build, use newer cmake options
crazywhalecc Oct 24, 2025
eb4445e
use release tarballs from Daniel rather than automatically generated …
henderkes Oct 24, 2025
a4b6499
Fix libevent build, use newer cmake options (#945)
crazywhalecc Oct 24, 2025
da5c6fd
Merge branch 'main' into fix/php85
henderkes Oct 24, 2025
c30b34a
Fix gettext missing symbols on macOS
crazywhalecc Oct 24, 2025
4cdc6a0
fix php 8.5
henderkes Oct 24, 2025
56bac35
do both in one go
henderkes Oct 24, 2025
5476385
Update PHP 8.5 to RC3, enable swoole-stdext for upcoming 6.1.0 releas…
henderkes Oct 24, 2025
8649068
Merge branch 'main' into frankenphp/mbed
henderkes Oct 24, 2025
bb44e88
Merge branch 'refs/heads/main' into sapi/cgi-win
crazywhalecc Oct 24, 2025
b59a06f
Add backward patches for win32
crazywhalecc Oct 24, 2025
bab330b
Unify CGI deploy functions
crazywhalecc Oct 24, 2025
f426ced
Use phpmicro patches instead
crazywhalecc Oct 25, 2025
09198b4
Use unified configure args format
crazywhalecc Oct 25, 2025
f8c8300
Add Windows CGI SAPI build support (#927)
crazywhalecc Oct 25, 2025
fa6fa1c
Add docs
crazywhalecc Oct 26, 2025
f1d1d4f
Beautify docs (#948)
crazywhalecc Oct 28, 2025
9a2d94c
fix debugflags being backwards
henderkes Oct 28, 2025
6a4ad34
Add trader extension support (#951)
crazywhalecc Oct 29, 2025
b05bdcd
Add snmp and net-snmp support for macOS and Linux (#946)
crazywhalecc Oct 29, 2025
b88a68d
fix postgresql libraries when --with-suggested-libs is false
henderkes Oct 29, 2025
ff15973
suggestions
henderkes Oct 31, 2025
ae15d6c
fix postgresql libraries when --with-suggested-libs is false (#952)
henderkes Oct 31, 2025
5a6a333
Export php binary debug symbols for mac, linux and windows
crazywhalecc Oct 31, 2025
9738fcd
Update env.ini docs
crazywhalecc Oct 31, 2025
5e3e7ec
Update version to 2.7.7
crazywhalecc Oct 31, 2025
757af25
Suggestions
crazywhalecc Oct 31, 2025
5cb6a75
add extra features to librdkafka (curl, ssl, sasl
henderkes Nov 3, 2025
7a4f28e
add frankenphp version
henderkes Nov 3, 2025
ed4978b
add frankenphp version
henderkes Nov 3, 2025
0b17ce9
test rdkafka with all suggested libs
henderkes Nov 3, 2025
944e314
Merge branch 'main' into feat/rdkafka-ssl
henderkes Nov 3, 2025
589a4a9
test rdkafka with all suggested libs
henderkes Nov 3, 2025
fc118d7
Remove deduplication of pkg-config libraries
henderkes Nov 3, 2025
aa5c829
Add missing file and line for Unhandled exception
crazywhalecc Nov 4, 2025
f34ecf9
Use pkg-configs for librdkafka
crazywhalecc Nov 4, 2025
4d5641f
Change librdkafka to cmake
crazywhalecc Nov 4, 2025
08362fb
Add helper function for SPCConfigUtil
crazywhalecc Nov 4, 2025
6d1c6d7
Add PHPDocs
crazywhalecc Nov 4, 2025
463a98b
Support suggested libs not specified by with-suggested-libs
crazywhalecc Nov 4, 2025
2c590e5
Define dependencies with kv array
crazywhalecc Nov 4, 2025
7402fbf
Use cmake to build librdkafka, add helper function for SPCConfigUtil …
henderkes Nov 4, 2025
f5d93d2
Merge branch 'main' into feat/no-strip
crazywhalecc Nov 6, 2025
f09c18e
Use separated deploy functions
crazywhalecc Nov 6, 2025
8c8cb70
phpstan fix
crazywhalecc Nov 6, 2025
a45f314
Remove for pure test
crazywhalecc Nov 6, 2025
f6b0914
Fix missing debug link and debug option
crazywhalecc Nov 6, 2025
8332ed8
Merge branch 'main' into frankenphp/mbed
henderkes Nov 7, 2025
4198ddd
make --with-frankenphp-app=dir work with docker scripts
henderkes Nov 7, 2025
09b7159
update freetype download to get latest version
henderkes Nov 8, 2025
d6de01d
update to rc4
henderkes Nov 9, 2025
f4b03ae
Introduce standalone DirDiff util class
crazywhalecc Nov 9, 2025
987ad4b
Use diff to detect and deploy-patch new shared extensions that built …
crazywhalecc Nov 9, 2025
1575016
simplify regex
henderkes Nov 9, 2025
e441a57
Remove escape backslashes
crazywhalecc Nov 10, 2025
4ae4165
add --with-frankenphp-app=/path/to/app option (#891)
henderkes Nov 10, 2025
9edb941
add --with-frankenphp-app option to embed an app
henderkes Sep 5, 2025
081e2d2
fix debugflags being backwards
henderkes Oct 28, 2025
fd2b7af
make --with-frankenphp-app=dir work with docker scripts
henderkes Nov 7, 2025
c911289
update freetype download to get latest version
henderkes Nov 8, 2025
541889d
update to rc4
henderkes Nov 9, 2025
64079d9
simplify regex
henderkes Nov 9, 2025
cff6ec1
Remove escape backslashes
crazywhalecc Nov 10, 2025
00050f4
Merge branch 'main' into feat/no-strip
henderkes Nov 11, 2025
09073c5
sort config and remove lonesome configure cflags
henderkes Nov 11, 2025
e2b80e7
update building of frankenphp
henderkes Nov 11, 2025
ee906aa
Merge remote-tracking branch 'origin/feat/no-strip' into frankenphp/mbed
henderkes Nov 11, 2025
8e4d4b7
suggestion
henderkes Nov 11, 2025
23c0d6f
simplify deployBinary a little bit
henderkes Nov 12, 2025
dc83282
remove SPC_CMD_VAR_PHP_CONFIGURE_CFLAGS, use eu-strip (#966)
henderkes Nov 12, 2025
d69826e
update php 8.5 to RC5
henderkes Nov 16, 2025
90981e3
Export php binary external debug symbol files (#953)
crazywhalecc Nov 17, 2025
54ceca8
add extra libs for curl (psl, krb5, unistring, idn2)
mhpcc Nov 18, 2025
aee733b
Merge branch 'main' into feat/libcurl-extra
henderkes Nov 18, 2025
a33ca44
test curl
mhpcc Nov 18, 2025
81dce02
use lgpl
mhpcc Nov 18, 2025
ecea6c1
libs for macos too
mhpcc Nov 18, 2025
1fed8f2
add required libs to krb5
mhpcc Nov 18, 2025
a1b8d20
add gsasl
mhpcc Nov 18, 2025
9382161
Revert "add gsasl"
mhpcc Nov 18, 2025
875e1d0
libedit instead of readline
mhpcc Nov 18, 2025
376b8e7
remove psl
henderkes Nov 19, 2025
6861e9c
append ld_library_path for musl toolchain
henderkes Nov 19, 2025
e8d1970
secure_getenv not available on macos
henderkes Nov 19, 2025
2b0a0bd
fix cs
henderkes Nov 19, 2025
84e9f13
framework?
henderkes Nov 19, 2025
1e09017
frameworks?
henderkes Nov 19, 2025
1662ac4
framework!
henderkes Nov 19, 2025
3069b51
we have 8.5!
henderkes Nov 20, 2025
e21b0ec
Apply suggestion from @henderkes
henderkes Nov 20, 2025
af614cd
Fix indentation in PhpSource.php
henderkes Nov 21, 2025
e2ad31e
Support PHP 8.5 release (#971)
henderkes Nov 21, 2025
e9ad3c0
Merge branch 'main' into feat/libcurl-extra
henderkes Nov 21, 2025
f14df19
Store original source directory before modification
crazywhalecc Nov 21, 2025
28ae424
add extra libs for curl (psl, krb5, unistring, idn2) (#968)
henderkes Nov 21, 2025
5606b70
don't download musl if zig isn't building for musl
henderkes Nov 22, 2025
e0c6908
don't download musl if zig isn't building for musl (#972)
henderkes Nov 22, 2025
76a07c3
fix silly mistake in trader config.m4
henderkes Nov 24, 2025
f24cbcf
fix silly mistake in trader config.m4 (#973)
henderkes Nov 25, 2025
5d10433
Add extension maxminddb support for macOS and Linux (#975)
crazywhalecc Nov 26, 2025
5b8c9e6
we need to change source_path for shared build
henderkes Nov 26, 2025
cb7eca9
Bump version from 2.7.8 to 2.7.9
crazywhalecc Nov 26, 2025
d552787
we need to change source_path for shared build (#977)
henderkes Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build-unix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,12 @@ jobs:
macos-x86_64)
DOWN_CMD="composer update --no-dev --classmap-authoritative && ./bin/spc doctor --auto-fix && ./bin/spc download"
BUILD_CMD="./bin/spc build"
RUNS_ON="macos-13"
RUNS_ON="macos-15-intel"
;;
macos-aarch64)
DOWN_CMD="composer update --no-dev --classmap-authoritative && ./bin/spc doctor --auto-fix && ./bin/spc download"
BUILD_CMD="./bin/spc build"
RUNS_ON="macos-14"
RUNS_ON="macos-15"
;;
esac
DOWN_CMD="$DOWN_CMD --with-php=${{ inputs.php-version }} --for-extensions=${{ inputs.extensions }} --ignore-cache-sources=php-src"
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ext-matrix-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ jobs:
- "8.4"
operating-system:
- "ubuntu-latest"
#- "macos-13"
#- "macos-15-intel"
#- "debian-arm64-self-hosted"
- "macos-14"
- "macos-15"

steps:
- name: "Checkout"
Expand All @@ -99,11 +99,11 @@ jobs:
OS=""
if [ "${{ matrix.operating-system }}" = "ubuntu-latest" ]; then
OS="linux-x86_64"
elif [ "${{ matrix.operating-system }}" = "macos-13" ]; then
elif [ "${{ matrix.operating-system }}" = "macos-15-intel" ]; then
OS="macos-x86_64"
elif [ "${{ matrix.operating-system }}" = "debian-arm64-self-hosted" ]; then
OS="linux-aarch64"
elif [ "${{ matrix.operating-system }}" = "macos-14" ]; then
elif [ "${{ matrix.operating-system }}" = "macos-15" ]; then
OS="macos-aarch64"
fi
echo "OS=$OS" >> $GITHUB_ENV
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
os: "ubuntu-latest"
filename: "spc-linux-x86_64.tar.gz"
- name: "macos-x86_64"
os: "macos-13"
os: "macos-15-intel"
filename: "spc-macos-x86_64.tar.gz"
- name: "linux-aarch64"
os: "ubuntu-latest"
Expand Down Expand Up @@ -147,11 +147,11 @@ jobs:
- name: "linux-x86_64"
os: "ubuntu-latest"
- name: "macos-x86_64"
os: "macos-13"
os: "macos-15-intel"
- name: "linux-aarch64"
os: "ubuntu-24.04-arm"
- name: "macos-aarch64"
os: "macos-latest"
os: "macos-15"
- name: "windows-x64"
os: "windows-latest"
steps:
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
name: Tests

on:
push:
branches:
- main
paths:
- 'src/globals/test-extensions.php'
pull_request:
branches: [ "main" ]
types: [ opened, synchronize, reopened ]
paths:
- 'src/**'
- 'config/**'
Expand Down Expand Up @@ -179,7 +175,7 @@ jobs:
key: php-dependencies-${{ matrix.os }}

- name: "Install Dependencies"
run: composer update -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
run: composer update -vvv --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --no-plugins

- name: "Run Build Tests (doctor)"
run: php src/globals/test-extensions.php doctor_cmd ${{ matrix.os }} ${{ matrix.php }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ docker/source/
# default package root directory
/pkgroot/**

# Windows PHP SDK binary tools
/php-sdk-binary-tools/**

# default pack:lib and release directory
/dist/**
packlib_files.txt
Expand Down
44 changes: 43 additions & 1 deletion bin/spc-alpine-docker
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/source:/app/source"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/dist:/app/dist"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/downloads:/app/downloads"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/pkgroot:/app/pkgroot"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/log:/app/log"
if [ -f "$(pwd)/craft.yml" ]; then
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/craft.yml:/app/craft.yml"
fi
Expand All @@ -161,6 +162,47 @@ if [ ! -z "$GITHUB_TOKEN" ]; then
ENV_LIST="$ENV_LIST -e GITHUB_TOKEN=$GITHUB_TOKEN"
fi

# Intercept and rewrite --with-frankenphp-app option, and mount host path to /app/app
FRANKENPHP_APP_PATH=""
NEW_ARGS=()
while [ $# -gt 0 ]; do
case "$1" in
--with-frankenphp-app=*)
FRANKENPHP_APP_PATH="${1#*=}"
NEW_ARGS+=("--with-frankenphp-app=/app/app")
shift
;;
--with-frankenphp-app)
if [ -n "${2:-}" ]; then
FRANKENPHP_APP_PATH="$2"
NEW_ARGS+=("--with-frankenphp-app=/app/app")
shift 2
else
NEW_ARGS+=("$1")
shift
fi
;;
*)
NEW_ARGS+=("$1")
shift
;;
esac
done

# Normalize the path and add mount if provided
if [ -n "$FRANKENPHP_APP_PATH" ]; then
# expand ~ to $HOME
if [ "${FRANKENPHP_APP_PATH#~}" != "$FRANKENPHP_APP_PATH" ]; then
FRANKENPHP_APP_PATH="$HOME${FRANKENPHP_APP_PATH#~}"
fi
# make absolute if relative
case "$FRANKENPHP_APP_PATH" in
/*) ABS_APP_PATH="$FRANKENPHP_APP_PATH" ;;
*) ABS_APP_PATH="$(pwd)/$FRANKENPHP_APP_PATH" ;;
esac
MOUNT_LIST="$MOUNT_LIST -v $ABS_APP_PATH:/app/app"
fi

# Run docker
# shellcheck disable=SC2068
# shellcheck disable=SC2086
Expand All @@ -182,5 +224,5 @@ if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then
set -ex
$DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST $MOUNT_LIST cwcc-spc-$SPC_USE_ARCH-$SPC_DOCKER_VERSION /bin/bash
else
$DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST $MOUNT_LIST cwcc-spc-$SPC_USE_ARCH-$SPC_DOCKER_VERSION bin/spc $@
$DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST $MOUNT_LIST cwcc-spc-$SPC_USE_ARCH-$SPC_DOCKER_VERSION bin/spc "${NEW_ARGS[@]}"
fi
44 changes: 43 additions & 1 deletion bin/spc-gnu-docker
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/source:/app/source"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/dist:/app/dist"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/downloads:/app/downloads"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/pkgroot:/app/pkgroot"
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/log:/app/log"
if [ -f "$(pwd)/craft.yml" ]; then
MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/craft.yml:/app/craft.yml"
fi
Expand All @@ -173,6 +174,47 @@ if [ ! -z "$GITHUB_TOKEN" ]; then
ENV_LIST="$ENV_LIST -e GITHUB_TOKEN=$GITHUB_TOKEN"
fi

# Intercept and rewrite --with-frankenphp-app option, and mount host path to /app/app
FRANKENPHP_APP_PATH=""
NEW_ARGS=()
while [ $# -gt 0 ]; do
case "$1" in
--with-frankenphp-app=*)
FRANKENPHP_APP_PATH="${1#*=}"
NEW_ARGS+=("--with-frankenphp-app=/app/app")
shift
;;
--with-frankenphp-app)
if [ -n "${2:-}" ]; then
FRANKENPHP_APP_PATH="$2"
NEW_ARGS+=("--with-frankenphp-app=/app/app")
shift 2
else
NEW_ARGS+=("$1")
shift
fi
;;
*)
NEW_ARGS+=("$1")
shift
;;
esac
done

# Normalize the path and add mount if provided
if [ -n "$FRANKENPHP_APP_PATH" ]; then
# expand ~ to $HOME
if [ "${FRANKENPHP_APP_PATH#~}" != "$FRANKENPHP_APP_PATH" ]; then
FRANKENPHP_APP_PATH="$HOME${FRANKENPHP_APP_PATH#~}"
fi
# make absolute if relative
case "$FRANKENPHP_APP_PATH" in
/*) ABS_APP_PATH="$FRANKENPHP_APP_PATH" ;;
*) ABS_APP_PATH="$(pwd)/$FRANKENPHP_APP_PATH" ;;
esac
MOUNT_LIST="$MOUNT_LIST -v $ABS_APP_PATH:/app/app"
fi

# Run docker
# shellcheck disable=SC2068
# shellcheck disable=SC2086
Expand All @@ -195,5 +237,5 @@ if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then
set -ex
$DOCKER_EXECUTABLE run $PLATFORM_ARG --privileged --rm -it $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION /bin/bash
else
$DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION bin/spc $@
$DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH-$SPC_DOCKER_VERSION bin/spc "${NEW_ARGS[@]}"
fi
Loading