-
Notifications
You must be signed in to change notification settings - Fork 324
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
Updates to Windows CI #561
Conversation
While a new release is pending, it seems worthwhile to make use of the caching as soon as possible to speed up Windows CI.
While caching speeds up the Windows builds, allocating an available runner takes some time (especially for many pushes in a short time). Thus we only build PHP 8.4 x64,zts, which should already suffice to detect most issues.
windows.php.net is in the process of being replaced by downloads.php.net, so we switch right away.
Using libmemcached-vs16 instead should be fine.
- name: Fetch libmemcached | ||
run: curl -OLs https://windows.php.net/downloads/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps | ||
run: | | ||
set MEMCACHED_FILENAME=libmemcached-1.1.1-${{steps.setup-php.outputs.vs == 'vs17' && 'vs16' || steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip |
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.
Why 1.1.1 from 2021?
libmemcached is currently at 1.1.4 which actually contains a fix for a possible security issue.
I totally understand, though, if the answer is obviously manpower, etc...
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.
Why 1.1.1 from 2021?
Must be one of the more recent dependency builds. Anyhow, let's see how https://github.com/winlibs/winlib-builder/actions/runs/11332741118 goes.
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.
Looks like I'll have to revert awesomized/libmemcached@1a15a08 to get back to PHP Windows naming conventions.
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.
That commit looks like a fix to not end up with liblibfoo.a
What's the exact problem on your side?
I guess we could fix both sides if we get rid of the ALIAS shenanigans.
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.
Without the patch, on Windows memcached.lib is built; with the fix it's libmemcached.lib. The former is probably common on Windows, but the latter is the PHP convention for import libraries (would be libmemcached_a.lib for static libs). If you "fix" this, others building the library might not get the library names they want/expect.
Anyway, applying a patch is not hard, and the build was successful. I've built ext/memcached locally successfully against libmemcached 1.1.4.
The actual problems are lack of automation of doing and testing dependency builds, and of course, that we can hardly watch for new dependency releases (way too many packages). And some packages need way more heavy patching anyway.
Now, someone needs to upload the libmemcached-1.1.4 builds to the download server. Maybe @shivammathur is in the mood. :)
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.
Uploaded
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.
PR to use it for Windows CI: #564.
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.
🥳
Also, the 3.3.0RC1 DLL links on PECL seem broken, is this a fix for this, too? |
The URL is https://downloads.php.net/~windows/pecl/releases/memcached/3.3.0RC1/php_memcached-3.3.0rc1-8.3-ts-vs16-x64.zip, but should be https://downloads.php.net/~windows/pecl/releases/memcached/3.3.0RC1/php_memcached-3.3.0RC1-8.3-ts-vs16-x64.zip (note lower-case vs. upper-case "RC"). |
We
the latest commitv0.10 of php/setup-php-sdk