Skip to content

Commit de2df91

Browse files
add x86 builders
1 parent f403176 commit de2df91

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

configuration/builders/definitions/foundry/builders.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
# rather than $ARTIFACTS_URL (dev), to build against real tarballs while this
2222
# pipeline is still dev-only. Revert to os.environ["ARTIFACTS_URL"] once done.
2323
_DEVEL_REPO_ARTIFACTS_URL = "https://ci.mariadb.org"
24+
# x86 worker images are a separate 32-bit tag (e.g. "debian12-386"), not part
25+
# of the amd64/aarch64 multi-arch manifest the other image tags resolve to,
26+
# and need an explicit --platform on pull to fetch that 32-bit variant.
27+
_ARCH_IMAGE_SUFFIX = {"x86": "-386"}
28+
_ARCH_PLATFORM = {"x86": "linux/386"}
2429

2530

2631
def foundry_scheduler_name(mariadb_version):
@@ -40,12 +45,14 @@ def foundry_scheduler_name(mariadb_version):
4045
package = f"{ops}-{version}"
4146
package_type = package_config["type"]
4247
for arch in package_config["arch"]:
48+
image = f"{ops}{version}{_ARCH_IMAGE_SUFFIX.get(arch, '')}"
49+
platform = _ARCH_PLATFORM.get(arch)
4350
if package_type == "bintar":
4451
# Bintar builds link against a MariaDB server bintar (see
4552
# autobake.bintar) instead of installing -devel packages from an
4653
# autobake builder's repo, so there's no repo_file_url to build.
4754
sequence = autobake.bintar(
48-
docker_config(image=f"{ops}{version}"),
55+
docker_config(image=image, platform=platform),
4956
package_config["ci_bintar_builder"],
5057
)
5158
else:
@@ -61,7 +68,9 @@ def foundry_scheduler_name(mariadb_version):
6168
repo_file_url = (
6269
f"{_DEVEL_REPO_ARTIFACTS_URL}/%(prop:tarbuildnum)s/{autobake_builder}/{repo_file}"
6370
)
64-
sequence = sequence_fn(docker_config(image=f"{ops}{version}"), repo_file_url)
71+
sequence = sequence_fn(
72+
docker_config(image=image, platform=platform), repo_file_url
73+
)
6574
builder = GenericBuilder(
6675
name=f"foundry-{arch}-{ops}-{version}",
6776
sequences=[sequence],

configuration/builders/definitions/foundry/foundry.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ packages:
5353
version: "12"
5454
type: deb
5555
os_info_key: debian-12
56-
arch: [amd64, aarch64]
56+
arch: [amd64, aarch64, x86]
5757
- ops: debian
5858
version: "13"
5959
type: deb

0 commit comments

Comments
 (0)