Skip to content

.github/actions/apk/action.yml: don't install gnu-libiconv-dev#22645

Open
orlitzky wants to merge 3 commits into
php:PHP-8.4from
orlitzky:musl-iconv-ci
Open

.github/actions/apk/action.yml: don't install gnu-libiconv-dev#22645
orlitzky wants to merge 3 commits into
php:PHP-8.4from
orlitzky:musl-iconv-ci

Conversation

@orlitzky

@orlitzky orlitzky commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

If we do not install GNU libiconv, the musl libc iconv() implementation should take over, allowing it to be tested on the CI.

It now passes: https://github.com/php/php-src/actions/runs/28979661263/job/85995230557?pr=22645

This includes the intended fix from #22552 that I lost somehow. In the end, all commits with the correct messages are present.

Closes #22413

If we do not install GNU libiconv, the musl libc iconv()
implementation should take over, allowing it to be tested
on the CI.
There should be no need to pass /usr as an argument to --with-iconv
now that the system (libc) implementation is being used.
@Girgias

Girgias commented Jul 8, 2026

Copy link
Copy Markdown
Member

@orlitzky do you know why master is failing with the iconv test changes?

@orlitzky

orlitzky commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@Girgias I think you may have mixed up two similar PRs. The one remaining failure should have been fixed by #22552, but the commit that actually got merged when that PR was closed was from #22540. That's why we had the mysterious merge conflict.

@orlitzky

orlitzky commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@Girgias Apologies.. whatever it was must have been my fault. Looking at the diff on #22552 shows the wrong file being changed, but with the "right" commit message. Not sure how I managed to amend and push a commit from a different branch entirely (while dropping the intended one!), but that's what it looks like.

The Alpine CI should confirm that everything wound up as intended in the end.

This test is for the behavior of iconv's magic "//IGNORE" suffix. The
output it expects agrees with POSIX 2024 even when the underlying
implementation (glibc) does not. A comment has been added to this
effect, and two calls to urlencode() have been removed so that two
(expected) errors are not swallowed.

Afterwards, we whitelist the two iconv implementations that are known
to support //IGNORE. While POSIX standardizes its behavior, it falls
short of requiring implementations to support it. Musl in particular
does not support any suffix.
@orlitzky

orlitzky commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@arnaud-lb I think you set this up initially

@TimWolla TimWolla removed their request for review July 9, 2026 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants