Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions data/containers/patches.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ docker-py:
# https://github.com/docker/docker-py/pull/3373 - test_create_with_ipv6_address: enable IPv6
# https://github.com/docker/docker-py/pull/3380 - integration: Remove test_build_squash tests
# https://github.com/docker/docker-py/pull/3393 - tests: Make stream assertions robust to chunk splitting
# https://github.com/docker/docker-py/pull/3407 - Fix integration tests on non-amd64 hosts
3261:
3290:
3354:
Expand All @@ -79,6 +80,7 @@ docker-py:
3373:
3380:
3393:
3407:

moby:
# https://github.com/moby/moby/pull/51219 - integration/container: Make tests runnable on SELinux enabled daemon
Expand Down
94 changes: 94 additions & 0 deletions data/containers/patches/docker-py/3407.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
From 9e9f8ff315fe405d7f7e89b394d6269217c51dfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= <pawel.gronowski@docker.com>
Date: Tue, 2 Jun 2026 19:56:25 +0200
Subject: [PATCH 1/2] Skip tests incompatible with host architecture
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Don't run tests that run native amd64 binaries on hosts with other
architectures.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
---
tests/integration/api_plugin_test.py | 5 +++++
tests/integration/credentials/store_test.py | 5 +++++
2 files changed, 10 insertions(+)

diff --git a/tests/integration/api_plugin_test.py b/tests/integration/api_plugin_test.py
index 168c81b231..cc5c8d3d2e 100644
--- a/tests/integration/api_plugin_test.py
+++ b/tests/integration/api_plugin_test.py
@@ -1,4 +1,5 @@
import os
+import platform

import pytest

@@ -11,6 +12,10 @@


@requires_api_version('1.25')
+@pytest.mark.skipif(
+ platform.machine().lower() not in ('amd64', 'x86_64'),
+ reason='vieux/sshfs plugin is only supported on amd64',
+)
class PluginTest(BaseAPIIntegrationTest):
@classmethod
def teardown_class(cls):
diff --git a/tests/integration/credentials/store_test.py b/tests/integration/credentials/store_test.py
index e1eba33a18..a9cb51469c 100644
--- a/tests/integration/credentials/store_test.py
+++ b/tests/integration/credentials/store_test.py
@@ -1,4 +1,5 @@
import os
+import platform
import random
import shutil
import sys
@@ -14,6 +15,10 @@
)


+@pytest.mark.skipif(
+ platform.machine().lower() not in ('amd64', 'x86_64'),
+ reason='docker-credential-pass test helper is only supported on amd64',
+)
class TestStore:
def teardown_method(self):
for server in self.tmp_keys:

From 9b4b9b8461966e5b54638490e66c91e45f25ea19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= <pawel.gronowski@docker.com>
Date: Tue, 2 Jun 2026 20:08:45 +0200
Subject: [PATCH 2/2] gha: Add arm64 integration CI
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
---
.github/workflows/ci.yml | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 50727826b7..dac54e8c25 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -70,3 +70,16 @@ jobs:
docker logout
rm -rf ~/.docker
make ${{ matrix.variant }}
+
+ arm64-integration-tests:
+ runs-on: ubuntu-24.04-arm
+ steps:
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
+ with:
+ fetch-depth: 0
+ fetch-tags: true
+ - name: make integration-dind
+ run: |
+ docker logout
+ rm -rf ~/.docker
+ make integration-dind
3 changes: 0 additions & 3 deletions tests/containers/python_docker.pm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ use serial_terminal qw(select_serial_terminal);
use version_utils;
use version;
use utils;
use Utils::Architectures qw(is_x86_64);
use containers::bats;

my $api_version;
Expand Down Expand Up @@ -58,8 +57,6 @@ sub test ($target) {
"tests/integration/api_swarm_test.py",
"tests/integration/models_swarm_test.py"
);
# This test uses the vieux/sshfs plugin which doesn't seem to be available for other arches
push @ignore, "tests/integration/api_plugin_test.py" unless is_x86_64;
my $ignore = join " ", map { "--ignore=$_" } @ignore;

# Used by pytest to ignore individual tests
Expand Down
Loading