Skip to content

Commit c3addd9

Browse files
committed
chore: wip
1 parent ec61590 commit c3addd9

File tree

5 files changed

+393
-151
lines changed

5 files changed

+393
-151
lines changed

.github/workflows/precompile-php.yml

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,15 @@ jobs:
204204
- name: Install build dependencies (macOS)
205205
if: matrix.platform == 'darwin'
206206
run: |
207-
# Install PHP dependencies via Homebrew (alternative to launchpad)
207+
# Install PHP dependencies via Homebrew but use specific ICU version for compatibility
208208
echo "🔧 Installing PHP dependencies via Homebrew..."
209209
echo "🔍 Debug info:"
210210
echo " - Platform: darwin"
211211
echo " - Architecture: $(uname -m)"
212212
213+
# Update Homebrew to ensure we get the latest packages
214+
brew update
215+
213216
# Install dependencies with quiet output to reduce warnings
214217
brew install --quiet \
215218
autoconf \
@@ -239,6 +242,22 @@ jobs:
239242
libiconv \
240243
gettext
241244
245+
# Get ICU version info
246+
echo "🔧 ICU installation complete"
247+
248+
# Get the actual installed version
249+
ICU_VER=$(brew list --versions icu4c | grep -o '[0-9]\+\.[0-9]\+' | head -1 | cut -d. -f1)
250+
ICU_FULL_VER=$(brew list --versions icu4c | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+' | head -1)
251+
252+
echo "✅ Using ICU v$ICU_VER (full version: $ICU_FULL_VER) - latest from Homebrew"
253+
echo "ICU_VERSION=$ICU_VER" >> $GITHUB_ENV
254+
echo "ICU_FULL_VERSION=$ICU_FULL_VER" >> $GITHUB_ENV
255+
256+
# Verify ICU installation
257+
echo "🔍 ICU installation details:"
258+
brew --prefix icu4c
259+
ls -la $(brew --prefix icu4c)/lib/libicu*.dylib | head -5
260+
242261
# Verify readline installation
243262
echo "Checking readline installation:"
244263
ls -la $(brew --prefix readline)/include/readline/readline.h || echo "readline.h not found in expected location"
@@ -352,11 +371,14 @@ jobs:
352371
run: |
353372
# Set paths for Homebrew dependencies including keg-only packages
354373
# Use a more organized approach to avoid duplicates
374+
ICU_PREFIX="$(brew --prefix icu4c)"
375+
echo "🔍 Using ICU from: $ICU_PREFIX"
376+
355377
PKG_CONFIG_PATHS=(
356378
"$(brew --prefix)/lib/pkgconfig"
357379
"$(brew --prefix openssl@3)/lib/pkgconfig"
358380
"$(brew --prefix libxml2)/lib/pkgconfig"
359-
"$(brew --prefix icu4c)/lib/pkgconfig"
381+
"$ICU_PREFIX/lib/pkgconfig"
360382
"$(brew --prefix zlib)/lib/pkgconfig"
361383
"$(brew --prefix postgresql@17)/lib/pkgconfig"
362384
"$(brew --prefix libpq)/lib/pkgconfig"
@@ -388,6 +410,7 @@ jobs:
388410
"-L$(brew --prefix bzip2)/lib"
389411
"-L$(brew --prefix gettext)/lib"
390412
"-L$(brew --prefix openldap)/lib"
413+
"-L$ICU_PREFIX/lib"
391414
)
392415
LDFLAGS_JOINED=$(IFS=' '; echo "${LDFLAGS_PATHS[*]}")
393416
echo "LDFLAGS=$LDFLAGS_JOINED" >> $GITHUB_ENV
@@ -402,6 +425,7 @@ jobs:
402425
"-I$(brew --prefix bzip2)/include"
403426
"-I$(brew --prefix gettext)/include"
404427
"-I$(brew --prefix openldap)/include"
428+
"-I$ICU_PREFIX/include"
405429
)
406430
CPPFLAGS_JOINED=$(IFS=' '; echo "${CPPFLAGS_PATHS[*]}")
407431
echo "CPPFLAGS=$CPPFLAGS_JOINED" >> $GITHUB_ENV
@@ -585,11 +609,14 @@ jobs:
585609
READLINE_PATH=$(brew --prefix readline)
586610
if [[ -f "$READLINE_PATH/include/readline/readline.h" ]]; then
587611
echo "Found readline.h at $READLINE_PATH/include/readline/readline.h"
588-
EXTRA_CONFIG="--with-iconv=$(brew --prefix libiconv) --with-readline=$READLINE_PATH"
612+
EXTRA_CONFIG="--with-iconv=$(brew --prefix libiconv) --with-readline=$READLINE_PATH --with-icu-dir=$ICU_PREFIX"
589613
else
590614
echo "readline.h not found, disabling readline support"
591-
EXTRA_CONFIG="--with-iconv=$(brew --prefix libiconv) --disable-readline"
615+
EXTRA_CONFIG="--with-iconv=$(brew --prefix libiconv) --disable-readline --with-icu-dir=$ICU_PREFIX"
592616
fi
617+
618+
echo "🔍 ICU configuration: --with-icu-dir=$ICU_PREFIX"
619+
echo "🔍 ICU version being used: $ICU_VERSION"
593620
594621
# Check if PostgreSQL is available and working
595622
echo "Debug: POSTGRESQL_AVAILABLE=$POSTGRESQL_AVAILABLE"
@@ -966,16 +993,30 @@ jobs:
966993
run: |
967994
cd ${{ env.OUTPUT_DIR }}
968995
969-
# Create metadata file
996+
# Create metadata file with ICU version info
997+
ICU_VER="unknown"
998+
ICU_FULL_VER="unknown"
999+
if [[ "${{ matrix.platform }}" == "darwin" ]]; then
1000+
ICU_VER="${ICU_VERSION:-unknown}"
1001+
ICU_FULL_VER="${ICU_FULL_VERSION:-unknown}"
1002+
elif [[ "${{ matrix.platform }}" == "linux" ]]; then
1003+
# Get ICU version on Linux
1004+
ICU_VER=$(pkg-config --modversion icu-uc 2>/dev/null | cut -d. -f1 || echo "unknown")
1005+
ICU_FULL_VER=$(pkg-config --modversion icu-uc 2>/dev/null || echo "unknown")
1006+
fi
1007+
9701008
cat > ${{ env.BINARY_NAME }}/metadata.json << EOF
9711009
{
9721010
"php_version": "${{ matrix.php_version }}",
9731011
"platform": "${{ matrix.platform }}",
9741012
"architecture": "${{ matrix.arch }}",
9751013
"configuration": "${{ matrix.config }}",
1014+
"icu_version": "$ICU_VER",
1015+
"icu_full_version": "$ICU_FULL_VER",
9761016
"built_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
9771017
"built_by": "GitHub Actions",
9781018
"commit": "${{ github.sha }}",
1019+
"runner_os": "${{ runner.os }}",
9791020
"extensions": "$(echo '${{ env.CONFIGURE_EXTENSIONS }}' | tr ' ' '\n' | grep -E '^--(enable|with)-' | sed 's/^--[^-]*-//' | sort | tr '\n' ',' | sed 's/,$//')"
9801021
}
9811022
EOF

launchpad.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { LaunchpadConfig } from './packages/launchpad/src'
22

33
const config: Partial<LaunchpadConfig> = {
4-
verbose: false,
5-
shimPath: '~/.local/bin',
4+
verbose: true,
5+
showShellMessages: true,
66
}
77

88
export default config

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@
3131
"typecheck": "bun --bun tsc --noEmit"
3232
},
3333
"devDependencies": {
34-
"@stacksjs/bumpx": "^0.1.17",
34+
"@stacksjs/bumpx": "^0.1.78",
3535
"@stacksjs/docs": "^0.70.23",
3636
"@stacksjs/eslint-config": "^4.14.0-beta.3",
3737
"@stacksjs/gitlint": "^0.1.5",
3838
"@stacksjs/launchpad": "workspace:*",
39-
"@stacksjs/logsmith": "^0.1.8",
39+
"@stacksjs/logsmith": "^0.1.18",
4040
"@types/bun": "^1.2.20",
4141
"buddy-bot": "^0.9.4",
4242
"bun-git-hooks": "^0.2.19",

0 commit comments

Comments
 (0)