-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying to fix imagick install #13
Conversation
WalkthroughThe pull request modifies the Dockerfile for the PHP 8.4 FPM Alpine image to streamline the installation of PHP extensions, particularly the Changes
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
src/8.4/fpm-alpine/Dockerfile (1)
26-26
: Good choice using php-extension-installer!Using
mlocati/php-extension-installer
is a more reliable approach for installing PHP extensions. It handles dependencies automatically and reduces potential installation issues.Consider using multi-stage builds to minimize the final image size if image size is a concern.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
src/8.4/fpm-alpine/Dockerfile
(2 hunks)src/8.4/fpm-alpine/hiqdev-docker-entrypoint
(1 hunks)
🔇 Additional comments (2)
src/8.4/fpm-alpine/hiqdev-docker-entrypoint (1)
62-63
: XDebug configuration update looks good
The change from remote_autostart
to start_with_request
is correct as this aligns with XDebug 3's configuration requirements. The start_with_request
setting was introduced to replace the legacy remote_autostart
option.
src/8.4/fpm-alpine/Dockerfile (1)
Line range hint 3-7
: Ensure consistent version pinning strategy
While some extensions have pinned versions (XDebug, Memcached), others don't. Consider:
- Using pinned versions for all extensions to ensure reproducible builds
- Adding a comment or issue reference for tracking the New Relic agent version update
Let's check if there are any updates for the pinned versions:
✅ Verification successful
The pinned versions are up-to-date, but version pinning strategy needs attention
The verification shows that all pinned versions in the Dockerfile are using the latest available releases:
- XDebug: 3.4.0beta1 (latest beta)
- Memcached: 3.3.0 (latest stable)
- SSH2: 1.4.1 (latest stable)
Let's verify if there's any tracking for the New Relic update:
Version management is well-maintained with proper tracking
The pinned versions are using the latest available releases, and the New Relic installation is properly tracked with a reference to issue #909 in their repository. The current setup demonstrates good practices:
- XDebug, Memcached, and SSH2 are on their latest versions
- New Relic integration is commented out with a clear link to the blocking issue
- GNU libiconv version is pinned with a specific release
No immediate action is required, though consider documenting the version pinning strategy for future maintenance.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check latest versions of PHP extensions
# Check latest versions
echo "Checking XDebug versions..."
curl -s https://pecl.php.net/rest/r/xdebug/allreleases.xml | grep -oP '<v>.*?</v>' | head -n5
echo "Checking Memcached versions..."
curl -s https://pecl.php.net/rest/r/memcached/allreleases.xml | grep -oP '<v>.*?</v>' | head -n5
echo "Checking SSH2 versions..."
curl -s https://pecl.php.net/rest/r/ssh2/allreleases.xml | grep -oP '<v>.*?</v>' | head -n5
Length of output: 694
Script:
#!/bin/bash
# Check for New Relic related comments or issues
rg -i "new.?relic" --type md
rg -i "new.?relic.*todo"
rg -i "new.?relic.*issue"
Length of output: 225
@@ -74,8 +76,7 @@ RUN set -xe \ | |||
docker-php-ext-install zip bcmath soap pcntl gmp && \ | |||
docker-php-ext-enable mailparse imap && \ | |||
|
|||
pecl install imagick && \ | |||
docker-php-ext-enable imagick && \ | |||
install-php-extensions Imagick/imagick@65e27f2bc0 && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Consider updating to the latest stable version 3.7.0
The commit hash 65e27f2bc0
appears invalid or no longer exists, but there is a stable release version 3.7.0 available. I recommend updating the installation line to use this stable version tag instead:
install-php-extensions Imagick/imagick@3.7.0 && \
This change will:
- Ensure reproducible builds with a well-tested release
- Improve maintainability with clear version tracking
- Prevent potential issues with commit hash references
🔗 Analysis chain
Consider using a stable version tag instead of commit hash
While pinning to a specific commit (65e27f2bc0) ensures reproducible builds, using a stable version tag would be more maintainable and less prone to issues if the repository history is rewritten.
Let's verify if there's a stable release tag available:
Let me try a different approach to verify the commit and available tags.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if there's a stable release tag for the imagick extension
# that corresponds to or is newer than the specified commit
# Clone the repository and check tags
git clone https://github.com/Imagick/imagick.git /tmp/imagick
cd /tmp/imagick
git tag --contains 65e27f2bc0 | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' || echo "No stable version found containing this commit"
Length of output: 386
Script:
#!/bin/bash
# Let's verify if this is the correct repository and check available tags
gh repo view Imagick/imagick --json description,url
# Check recent tags
gh api repos/Imagick/imagick/tags --paginate | jq -r '.[].name' | head -n 5
Length of output: 264
Summary by CodeRabbit
New Features
imagick
extension, using a simplified script.Bug Fixes
Chores