Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 8 additions & 3 deletions .github/pie-behaviour-tests/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,13 @@ RUN export DEBIAN_FRONTEND="noninteractive"; \
ARG PHP_VERSION=8.4
RUN mkdir -p /usr/local/src/php; \
cd /usr/local/src/php; \
FULL_LATEST_VERSION=`curl -fsSL "https://www.php.net/releases/index.php?json&max=1&version=$PHP_VERSION" | jq -r '.[].source[]|select(.filename|endswith(".gz")).filename'`; \
wget -O php.tgz "https://www.php.net/distributions/$FULL_LATEST_VERSION" ; \
if [ "${PHP_VERSION%-dev}" != "$PHP_VERSION" ]; then \
PHP_SRC_DOWNLOAD_URL=`curl -fsSL "https://www.php.net/pre-release-builds.php?format=json" | jq -r --arg v "${PHP_VERSION%-dev}" 'to_entries[] | select(.key | startswith($v)) | .value.release.files.gz.path'` ; \
else \
FULL_LATEST_VERSION=`curl -fsSL "https://www.php.net/releases/index.php?json&max=1&version=$PHP_VERSION" | jq -r '.[].source[]|select(.filename|endswith(".gz")).filename'`; \
PHP_SRC_DOWNLOAD_URL="https://www.php.net/distributions/$FULL_LATEST_VERSION" ; \
fi; \
wget -O php.tgz "$PHP_SRC_DOWNLOAD_URL" ; \
tar zxf php.tgz ; \
rm php.tgz ; \
ls -l ; \
Expand All @@ -44,7 +49,7 @@ RUN mkdir -p /usr/local/src/php; \
RUN touch /usr/local/lib/php.ini

COPY --from=ghcr.io/php/pie:bin /pie /usr/local/bin/pie
RUN pie install xdebug/xdebug
RUN BOX_REQUIREMENT_CHECKER=0 pie install xdebug/xdebug

COPY --from=clone_ext_repo /example-pie-extension /example-pie-extension

Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
- '8.3'
- '8.4'
- '8.5'
- '8.6'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs test ext to be released with 8.6, as Windows builds don't exist for 8.6 yet

see asgrim/example-pie-extension#13

failing tests - https://github.com/php/pie/actions/runs/29113092108/job/86429844134#step:7:32

steps:
- name: Setup PHP
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 #2.37.2
Expand Down Expand Up @@ -121,6 +122,7 @@ jobs:
- '8.3'
- '8.4'
- '8.5'
#- '8.6' # @todo bundled repo doesn't support non-stable PHP versions

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tracking todo

steps:
- name: "Purge built-in PHP version"
run: |
Expand Down Expand Up @@ -160,8 +162,15 @@ jobs:
libzip-dev
- name: "Set php-src download URL"
run: |
DIST_URL=`curl -fsSL "https://www.php.net/releases/index.php?json&max=1&version=${{ matrix.php-versions }}" | jq -r '.[].source[]|select(.filename|endswith(".gz")).filename'`
echo "php_src_download_url=https://www.php.net/distributions/$DIST_URL" >> $GITHUB_ENV
if [[ "${{ matrix.php-versions }}" == *-dev ]]; then
VERSION="${{ matrix.php-versions }}"
VERSION="${VERSION%-dev}"
DIST_URL=`curl -fsSL "https://www.php.net/pre-release-builds.php?format=json" | jq -r --arg v "$VERSION" 'to_entries[] | select(.key | startswith($v)) | .value.release.files.gz.path'`
echo "php_src_download_url=$DIST_URL" >> $GITHUB_ENV
else
DIST_URL=`curl -fsSL "https://www.php.net/releases/index.php?json&max=1&version=${{ matrix.php-versions }}" | jq -r '.[].source[]|select(.filename|endswith(".gz")).filename'`
echo "php_src_download_url=https://www.php.net/distributions/$DIST_URL" >> $GITHUB_ENV
fi
- name: "Install PHP ${{ matrix.php-versions }}"
env:
php_src_download_url: ${{ env.php_src_download_url }}
Expand Down Expand Up @@ -220,6 +229,7 @@ jobs:
- '8.3'
- '8.4'
- '8.5'
- '8.6-dev'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

failing because the test image deps on xdebug/xdebug which doesn't exist for 8.6 (yet)

https://github.com/php/pie/actions/runs/29113092108/job/86429844062#step:6:2673

that said, in theory we could remove that requirement, but it is useful for local debugging 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW I had similar issues in the past on my testing images when trying to install this, but with PIE I can now do pie install "xdebug/xdebug:dev-master". Although not a formal release, for testing purposes on pre-release images I considered this fine. Otherwise you'd have to wait for a first (pre-)release of XDebug compatible with PHP 8.6, which likely will take a while to land.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm; yeah I did try this, but I realised, for 8.5 I had disabled the behaviour tests because there's a few other changes that would be needed. Think I'll just not run them for 8.6 for now, and come back to it once stable or have more time :D

steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #v7.0.0
with:
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
}
],
"require": {
"php": "8.1.*||8.2.*||8.3.*||8.4.*||8.5.*",
"php": "8.1.*||8.2.*||8.3.*||8.4.*||8.5.*||8.6.*",
"composer/composer": "^2.10.2",
"composer/pcre": "^3.4.0",
"composer/semver": "^3.4.4",
Expand All @@ -49,7 +49,7 @@
"phpstan/phpstan": "^2.2.5",
"phpstan/phpstan-phpunit": "^2.0.18",
"phpstan/phpstan-webmozart-assert": "^2.0",
"phpunit/phpunit": "^10.5.63",
"phpunit/phpunit": "^10.5.64",
"thecodingmachine/phpstan-safe-rule": "^1.4.7"
},
"replace": {
Expand Down
62 changes: 23 additions & 39 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/Platform/TargetPlatform.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,9 @@ public static function fromPhpBinaryPath(PhpBinaryPath $phpBinaryPath, int|null
case 'VS17':
$windowsCompiler = WindowsCompiler::VS17;
break;
case 'VS18':
$windowsCompiler = WindowsCompiler::VS18;
break;
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/Platform/WindowsCompiler.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ enum WindowsCompiler
case VC15;
case VS16;
case VS17;
case VS18;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
only a test file
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
only a test file
Loading