also looking at this
chore(deps): update dependency softprops/action-gh-release to v2.3.3
#159
1 file
+638
-860
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -171,7 +171,22 @@ jobs: | ||
| 171 | 171 | |
| 172 | 172 | # Pre-install dependencies to ensure they're available |
| 173 | 173 | echo "🔧 Pre-installing dependencies via Launchpad..." |
| 174 | bun run launchpad install php --deps-only || echo "⚠️ Dependency installation had issues, continuing anyway" | |
| 174 | bun run launchpad install php --deps-only | |
| 175 | ||
| 176 | # Wait for dependencies to be fully installed | |
| 177 | echo "⏳ Waiting for dependency installation to complete..." | |
| 178 | sleep 5 | |
| 179 | ||
| 180 | # Debug: Check if pkg-config is available | |
| 181 | echo "🔍 Checking for pkg-config..." | |
| 182 | if command -v pkg-config >/dev/null 2>&1; then | |
| 183 | echo "✅ pkg-config found: $(which pkg-config)" | |
| 184 | echo "📋 pkg-config version: $(pkg-config --version)" | |
| 185 | else | |
| 186 | echo "❌ pkg-config not found in PATH" | |
| 187 | echo "🔍 Searching for pkg-config in .local..." | |
| 188 | find "$HOME/.local" -name "pkg-config" -type f 2>/dev/null || echo "No pkg-config found in .local" | |
| 189 | fi | |
| 175 | 190 | |
| 176 | 191 | # Debug: Check if ICU libraries are available |
| 177 | 192 | echo "🔍 Checking for ICU libraries..." |
| @@ -188,11 +203,39 @@ jobs: | ||
| 188 | 203 | echo "❌ ICU libraries not found" |
| 189 | 204 | fi |
| 190 | 205 | |
| 206 | # Debug: Check libxml2 libraries | |
| 207 | echo "🔍 Checking for libxml2 libraries..." | |
| 208 | if [ -d "$HOME/.local/gnome.org/libxml2" ]; then | |
| 209 | echo "✅ libxml2 libraries found at: $HOME/.local/gnome.org/libxml2" | |
| 210 | ls -la "$HOME/.local/gnome.org/libxml2/" | |
| 211 | if [ -f "$HOME/.local/gnome.org/libxml2"/*/lib/pkgconfig/libxml-2.0.pc ]; then | |
| 212 | echo "✅ libxml2 pkgconfig files found" | |
| 213 | find "$HOME/.local/gnome.org/libxml2" -name "libxml-2.0.pc" -type f | |
| 214 | else | |
| 215 | echo "❌ libxml2 pkgconfig files not found" | |
| 216 | fi | |
| 217 | else | |
| 218 | echo "❌ libxml2 libraries not found" | |
| 219 | fi | |
| 220 | ||
| 191 | 221 | # Debug: Check PATH and PKG_CONFIG_PATH |
| 192 | 222 | echo "🔍 Environment check:" |
| 193 | 223 | echo "PATH includes unicode.org: $(echo $PATH | grep -o unicode.org || echo 'NO')" |
| 224 | echo "PATH includes freedesktop.org: $(echo $PATH | grep -o freedesktop.org || echo 'NO')" | |
| 194 | 225 | echo "PKG_CONFIG_PATH: ${PKG_CONFIG_PATH:-'NOT SET'}" |
| 195 | 226 | |
| 227 | # Debug: Check if Launchpad environment script exists | |
| 228 | echo "🔍 Checking for Launchpad environment..." | |
| 229 | if [ -f "$HOME/.local/launchpad.sh" ]; then | |
| 230 | echo "✅ Launchpad environment script found" | |
| 231 | echo "📋 Sourcing environment to check paths..." | |
| 232 | source "$HOME/.local/launchpad.sh" | |
| 233 | echo "PATH after sourcing: ${PATH:0:200}..." | |
| 234 | echo "PKG_CONFIG_PATH after sourcing: ${PKG_CONFIG_PATH:-'NOT SET'}" | |
| 235 | else | |
| 236 | echo "❌ Launchpad environment script not found" | |
| 237 | fi | |
| 238 | ||
| 196 | 239 | - name: Install build dependencies (Windows) |
| 197 | 240 | if: matrix.platform == 'win32' |
| 198 | 241 | run: | |
| @@ -204,6 +247,7 @@ jobs: | ||
| 204 | 247 | echo "Windows build dependencies installed for PHP compilation" |
| 205 | 248 | |
| 206 | 249 | - name: Build PHP |
| 250 | shell: bash | |
| 207 | 251 | env: |
| 208 | 252 | PHP_VERSION: ${{ matrix.php_version }} |
| 209 | 253 | PHP_CONFIG: ${{ matrix.config }} |
| @@ -211,7 +255,70 @@ jobs: | ||
| 211 | 255 | TARGET_ARCH: ${{ matrix.arch }} |
| 212 | 256 | BUILD_DIR: ${{ github.workspace }}/build |
| 213 | 257 | OUTPUT_DIR: ${{ github.workspace }}/binaries |
| 214 | run: bun run scripts/build-php.ts | |
| 258 | run: | | |
| 259 | # Source Launchpad environment if available (macOS only) | |
| 260 | if [ "$" = "darwin" ]; then | |
| 261 | # Find and source the best available Launchpad environment | |
| 262 | if [ -f "$HOME/.local/build-env.sh" ]; then | |
| 263 | echo "🔧 Sourcing Launchpad build environment for macOS build..." | |
| 264 | source "$HOME/.local/build-env.sh" | |
| 265 | echo "✅ Environment sourced from build-env.sh" | |
| 266 | elif [ -f "$HOME/.local/share/launchpad/global/build-env.sh" ]; then | |
| 267 | echo "🔧 Sourcing global Launchpad environment for macOS build..." | |
| 268 | source "$HOME/.local/share/launchpad/global/build-env.sh" | |
| 269 | echo "✅ Environment sourced from global build-env.sh" | |
| 270 | else | |
| 271 | echo "⚠️ No Launchpad environment file found" | |
| 272 | fi | |
| 273 | ||
| 274 | # Always ensure pkg-config is available - find it dynamically | |
| 275 | echo "🔍 Finding and adding pkg-config to PATH..." | |
| 276 | PKG_CONFIG_PATH_FOUND=$(find "$HOME/.local" -name "pkg-config" -type f 2>/dev/null | head -1) | |
| 277 | if [ -n "$PKG_CONFIG_PATH_FOUND" ]; then | |
| 278 | PKG_CONFIG_DIR=$(dirname "$PKG_CONFIG_PATH_FOUND") | |
| 279 | export PATH="$PKG_CONFIG_DIR:$PATH" | |
| 280 | echo "✅ Added pkg-config to PATH from: $PKG_CONFIG_DIR" | |
| 281 | fi | |
| 282 | ||
| 283 | # Also ensure sed is available | |
| 284 | SED_PATH_FOUND=$(find "$HOME/.local" -path "*/gnu.org/sed/*/bin/sed" -type f 2>/dev/null | head -1) | |
| 285 | if [ -n "$SED_PATH_FOUND" ]; then | |
| 286 | SED_DIR=$(dirname "$SED_PATH_FOUND") | |
| 287 | export PATH="$SED_DIR:$PATH" | |
| 288 | echo "✅ Added sed to PATH from: $SED_DIR" | |
| 289 | fi | |
| 290 | ||
| 291 | echo "✅ Current PATH includes freedesktop.org: $(echo $PATH | grep -o freedesktop.org || echo 'NO')" | |
| 292 | echo "✅ PKG_CONFIG_PATH: ${PKG_CONFIG_PATH:-'NOT SET'}" | |
| 293 | ||
| 294 | # Verify pkg-config is accessible and set up PKG_CONFIG_PATH | |
| 295 | if command -v pkg-config >/dev/null 2>&1; then | |
| 296 | echo "✅ pkg-config is accessible: $(which pkg-config)" | |
| 297 | echo "✅ pkg-config version: $(pkg-config --version)" | |
| 298 | ||
| 299 | # Ensure PKG_CONFIG_PATH includes all Launchpad library paths | |
| 300 | echo "🔧 Setting up comprehensive PKG_CONFIG_PATH..." | |
| 301 | PKG_PATHS=$(find "$HOME/.local" -name "pkgconfig" -type d 2>/dev/null | tr '\n' ':') | |
| 302 | export PKG_CONFIG_PATH="$PKG_PATHS:${PKG_CONFIG_PATH:-}" | |
| 303 | echo "✅ PKG_CONFIG_PATH set to: $PKG_CONFIG_PATH" | |
| 304 | ||
| 305 | # Test libxml-2.0 specifically | |
| 306 | if pkg-config --exists libxml-2.0; then | |
| 307 | echo "✅ libxml-2.0 package found via pkg-config" | |
| 308 | echo "📋 libxml-2.0 cflags: $(pkg-config --cflags libxml-2.0)" | |
| 309 | else | |
| 310 | echo "❌ libxml-2.0 package not found via pkg-config" | |
| 311 | echo "🔍 Available packages: $(pkg-config --list-all | head -10)" | |
| 312 | fi | |
| 313 | else | |
| 314 | echo "❌ pkg-config still not accessible" | |
| 315 | echo "🔍 All pkg-config instances:" | |
| 316 | find "$HOME/.local" -name "pkg-config" -type f 2>/dev/null | |
| 317 | fi | |
| 318 | fi | |
| 319 | ||
| 320 | # Run the build script with enhanced environment | |
| 321 | bun run scripts/build-php.ts | |
| 215 | 322 | |
| 216 | 323 | - name: Create tarball (Unix) |
| 217 | 324 | if: matrix.platform != 'win32' |