The mirror override was only applied to a subset of images. Every other
arm64 CI image built directly `FROM ubuntu` still resolved through
`ports.ubuntu.com` and was subject to the same failure.
Add a generic `build_args` field to `Docker.Config` and pass the
in-region AWS mirror (`apt_archive` / `apt_ports_archive`, set literally in
`ci/defs/defs.py`) to the Ubuntu-based CI images on the command line.
`ci/praktika/docker.py` stays generic - it just forwards `build_args` and
knows nothing about apt or the region. Images that don't declare the args
ignore them.
Dockerfile defaults stay canonical so local builds are unchanged, and the
remaining direct-`ubuntu` arm64 images (`style-test`, `install-deb-test`,
`sqlancer-test`, `mysql_dotnet_client`, `postgresql-java-client`) get a
`ports`- and deb822-aware rewrite so the passed mirror reaches arm64.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Add a comment to each client integration Dockerfile to change their
digest and force a rebuild via master CI. This is needed because the
per-platform images were last built on Feb 20 (before the SBOM/provenance
pipeline was fixed) and will never be rebuilt automatically since no
Dockerfile has changed since then.
Once rebuilt, master CI will produce OCI image indices with attestation
manifests, improving Docker Scout supply chain security scores.
Follows #97903 (enable SBOM/provenance in docker.py) and #98511 (fix
incompatible --builder default and inline cache flags).
- Fix CLASSPATH regression in postgresql-java-client and mysql-java-client:
add leading '.' so javac-compiled .class files are found at runtime
- Downgrade MySQL Connector/J 9.2.0 → 8.4.0 to avoid 9.x breaking changes
(useSSL=false removed, type mapping changes)
- Revert mysql2 → mysql in JS client; test expects mysql package error message
for sha256_password auth
- Downgrade go-sql-driver/mysql v1.8.1 → v1.6.0 to preserve error message
format (v1.7+ adds SQL state prefix breaking exact-match assertions)
- Revert ClickHouse.Client 7.14.0 → 4.1.0 to match dotnet.reference output
(type representations and date formats changed in major version jumps)
- dotnet_client: sync csproj package version (4.1.0→7.14.0) to match Dockerfile ARG
- postgresql_java_client: drop build-essential (not needed for javac), add
--no-install-recommends, fix CLASSPATH to not reference unset env var
- mysql_java_client: fix CLASSPATH to not reference unset env var
- mysql_js_client: pin npm@11 (was npm@latest), switch mysql→mysql2
(mysql package abandoned since 2020; mysql2 is API-compatible drop-in)
- mysql_golang_client: simplify apk upgrade to single --no-cache flag
- docs-builder: pin npm@11, remove redundant g++ and make (already in
build-essential), remove yarn registry config (sets the default, dead code)