nic-6443 opened a new pull request, #14070:
URL: https://github.com/apache/apisix/pull/14070

   GitHub is moving `ubuntu-latest` to Ubuntu 26.04 
(actions/runner-images#14748), and since the first master run that landed on it 
every Linux job dies before a single test runs. This adapts CI and the 
source-install scripts to 26.04 instead of pinning the runner. Because the 
migration is gradual, every change here also has to keep working on 24.04, and 
it does.
   
   Here is what broke on 26.04 and what changed:
   
   - `libpcre3` / `libpcre3-dev` are gone. They were only there so 
`lrexlib-pcre` (pulled in by `jsonschema`) could find `pcre.h`. 
`utils/linux-install-luarocks.sh` now points luarocks at the PCRE that ships 
with APISIX runtime (`/usr/local/openresty/pcre`) when it exists, and both 
package lists drop `libpcre3*`. luarocks bakes that path into the module's 
rpath, so `rex_pcre` loads from the CLI (plain LuaJIT) as well as from nginx. 
Note this applies on every distro that has the runtime's PCRE, so 
`lrexlib-pcre` now links against the runtime's PCRE instead of the system one 
on 24.04 too.
   - `apt-key` no longer exists. `utils/install-dependencies.sh` writes the 
OpenResty key to `/etc/apt/keyrings` and uses `signed-by`, for both Ubuntu and 
Debian.
   - openresty.org has no 26.04 (`resolute`) repository yet. On Ubuntu, the 
script falls back to the `noble` repository when the current release has no 
`Release` file. Only `openresty-zlib-dev` and `openresty-pcre-dev` come from 
it, and both are self-contained under `/usr/local/openresty`.
   - `lua-resty-saml` 0.2.6 doesn't compile against libxml2 2.12+ with 
`-Werror`. Fixed upstream in api7/lua-resty-saml#65 and released as 0.2.7, 
which the rockspec now requires.
   - sudo is sudo-rs on 26.04, which ignores `-E`. The test step lost 
`TEST_FILE_SUB_DIR` and every shard ran `prove -r` over all of `t/` until the 
timeout. The step now passes it explicitly.
   - Docker 29 raises the minimum API version, and `openwhisk/standalone` 
drives the host daemon with an older client, so its `waitready` never returned. 
Plugin shards lower the minimum through a systemd drop-in, only when the 
daemon's minimum isn't already 1.24, so 24.04 is untouched.
   - `actions/setup-python` has no 3.9 for 26.04. check-links now uses 3.12.
   - `ci/free_disk_space.sh` silently removed nothing on 26.04: apt refuses the 
whole removal when one named package (`powershell`) is unknown. It now only 
names installed packages.
   - The deps cache key didn't include the runner image, so a 24.04 cache could 
be restored on 26.04 while both images are in rotation. The key now includes 
`ImageOS`.
   
   `docs/*/install-dependencies.md` now lists Ubuntu 26.04.
   
   Every workflow here was run on both `ubuntu-26.04` and `ubuntu-24.04` with 
explicit labels before switching back to `ubuntu-latest`. One thing I couldn't 
pin down: `t/stream-plugin/prometheus-metrics.t` failed in two earlier runs 
that had the Docker restart, on both the first try and the rerun in the same 
job, and hasn't reproduced since across several full-shard runs on both images. 
I'm noting it in case it shows up again.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to