From 5ffac23098263e58da0b4c881940500389b48df4 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 16:58:53 -0500 Subject: [PATCH 1/7] Stop hash pinning docker images --- .github/workflows/ci.yml | 2 +- test/integration/ssh_server/arch_opkssh.Dockerfile | 2 +- test/integration/ssh_server/centos_opkssh.Dockerfile | 2 +- test/integration/ssh_server/opensuse_opkssh.Dockerfile | 2 +- test/integration/ssh_server/ubuntu.Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34b877ac..e41955f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: name: Shell Scripts Lint & Test runs-on: ubuntu-24.04 container: - image: opensuse/tumbleweed:latest@sha256:c13ace4cd56d5d5e57885672ea75d91c3320998405b0305a1adef4a1a423a9d9 + image: opensuse/tumbleweed:latest steps: - name: Install packages run: | diff --git a/test/integration/ssh_server/arch_opkssh.Dockerfile b/test/integration/ssh_server/arch_opkssh.Dockerfile index e4fae261..22e3ccaf 100644 --- a/test/integration/ssh_server/arch_opkssh.Dockerfile +++ b/test/integration/ssh_server/arch_opkssh.Dockerfile @@ -16,7 +16,7 @@ ARG ISSUER_PORT="9998" RUN go build -v -o opksshbuild # Stage 2: Create a minimal ArchLinux-based image -FROM quay.io/archlinux/archlinux:latest@sha256:4524236733437ff1f35531147aa444b32f674d9f328aebe06d3511be575c80a3 +FROM quay.io/archlinux/archlinux:latest # Install dependencies required for runtime (e.g., SSH server) RUN pacman -Syu --noconfirm && \ diff --git a/test/integration/ssh_server/centos_opkssh.Dockerfile b/test/integration/ssh_server/centos_opkssh.Dockerfile index 1d5171ef..5e47cc90 100644 --- a/test/integration/ssh_server/centos_opkssh.Dockerfile +++ b/test/integration/ssh_server/centos_opkssh.Dockerfile @@ -16,7 +16,7 @@ ARG ISSUER_PORT="9998" RUN go build -v -o opksshbuild # Stage 2: Create a minimal CentOS-based image -FROM quay.io/centos/centos:stream9@sha256:0bf070f10582acaa3c415280f769797025763c8a8e6509a5883592d0872a56d6 +FROM quay.io/centos/centos:stream9 # Install dependencies required for runtime (e.g., SSH server) RUN dnf update -y && \ dnf install -y sudo openssh-server openssh-clients telnet wget jq && \ diff --git a/test/integration/ssh_server/opensuse_opkssh.Dockerfile b/test/integration/ssh_server/opensuse_opkssh.Dockerfile index e7a342d3..a19fe01e 100644 --- a/test/integration/ssh_server/opensuse_opkssh.Dockerfile +++ b/test/integration/ssh_server/opensuse_opkssh.Dockerfile @@ -16,7 +16,7 @@ ARG ISSUER_PORT="9998" RUN go build -v -o opksshbuild # Stage 2: Create a minimal openSUSE-Tumbleweed-based image -FROM opensuse/tumbleweed:latest@sha256:c13ace4cd56d5d5e57885672ea75d91c3320998405b0305a1adef4a1a423a9d9 +FROM opensuse/tumbleweed:latest # Install dependencies required for runtime (e.g., SSH server) RUN zypper refresh && \ diff --git a/test/integration/ssh_server/ubuntu.Dockerfile b/test/integration/ssh_server/ubuntu.Dockerfile index 62d8797d..175b2cbc 100644 --- a/test/integration/ssh_server/ubuntu.Dockerfile +++ b/test/integration/ssh_server/ubuntu.Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:noble@sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54 +FROM ubuntu:noble # Update/Upgrade RUN apt-get update -y && apt-get upgrade -y From 8ecc89d2b075b74b1af5b40caab21414f15271d1 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 17:10:14 -0500 Subject: [PATCH 2/7] Use opensuse/tumbleweed:stable for linttest --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e41955f5..5036e109 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: name: Shell Scripts Lint & Test runs-on: ubuntu-24.04 container: - image: opensuse/tumbleweed:latest + image: opensuse/tumbleweed:stable steps: - name: Install packages run: | From 80c004209a6399a9c51ff3050e98cd3940262dc3 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 17:25:28 -0500 Subject: [PATCH 3/7] Attempting to fix container issue --- test/integration/openssh_version_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/openssh_version_test.go b/test/integration/openssh_version_test.go index 9f155ffd..1f46d44a 100644 --- a/test/integration/openssh_version_test.go +++ b/test/integration/openssh_version_test.go @@ -52,7 +52,7 @@ func TestOpenSSHVersionDetection(t *testing.T) { }, { name: "RHEL/CentOS", - containerImage: "rockylinux:9", + containerImage: "rockylinux:10", setupCommands: []string{ "dnf clean all && dnf makecache && dnf install -y openssh-server sed", }, From 89b418934e5ccfef1c90bc82b54cbe3c978a2e90 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 17:35:48 -0500 Subject: [PATCH 4/7] Try opensuse/leap:16 --- .github/workflows/ci.yml | 2 +- README.md | 2 +- test/integration/openssh_version_test.go | 2 +- test/integration/ssh_server/opensuse_opkssh.Dockerfile | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5036e109..b7fa4717 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: name: Shell Scripts Lint & Test runs-on: ubuntu-24.04 container: - image: opensuse/tumbleweed:stable + image: opensuse/leap:16.0 steps: - name: Install packages run: | diff --git a/README.md b/README.md index 2b9476ae..caf1ca06 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ Second, we use the `AuthorizedKeysCommand` configuration option in `sshd_config` | Linux | ✅ | ✅ | Ubuntu 24.04.1 LTS | - | | Linux | ✅ | ✅ | Centos 9 | - | | Linux | ✅ | ✅ | Arch Linux | - | -| Linux | ✅ | ✅ | openSUSE Tumbleweed | - | +| Linux | ✅ | ✅ | opensuse leap 16 | - | | macOS | ❌ | ❌ | - | Likely | | Windows11 | ❌ | ❌ | - | Likely | diff --git a/test/integration/openssh_version_test.go b/test/integration/openssh_version_test.go index 1f46d44a..4b7687ca 100644 --- a/test/integration/openssh_version_test.go +++ b/test/integration/openssh_version_test.go @@ -61,7 +61,7 @@ func TestOpenSSHVersionDetection(t *testing.T) { }, { name: "SUSE", - containerImage: "opensuse/tumbleweed:latest", + containerImage: "opensuse/leap:16.0", setupCommands: []string{ "zypper refresh", "zypper install -y openssh sed", diff --git a/test/integration/ssh_server/opensuse_opkssh.Dockerfile b/test/integration/ssh_server/opensuse_opkssh.Dockerfile index a19fe01e..0c01c7ba 100644 --- a/test/integration/ssh_server/opensuse_opkssh.Dockerfile +++ b/test/integration/ssh_server/opensuse_opkssh.Dockerfile @@ -15,8 +15,8 @@ COPY . ./ ARG ISSUER_PORT="9998" RUN go build -v -o opksshbuild -# Stage 2: Create a minimal openSUSE-Tumbleweed-based image -FROM opensuse/tumbleweed:latest +# Stage 2: Create a minimal opensuse leap:16 image +FROM opensuse/leap:16.0 # Install dependencies required for runtime (e.g., SSH server) RUN zypper refresh && \ From 14d292d8deebc4b9e108f28a9a8aec2c4426e66f Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 17:55:27 -0500 Subject: [PATCH 5/7] Install bashate --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7fa4717..7f2e478d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -72,7 +72,10 @@ jobs: - name: Install packages run: | zypper refresh - zypper --non-interactive install --no-recommends git wget ShellCheck shunit2 findutils python313-bashate + zypper --non-interactive install --no-recommends git wget ShellCheck shunit2 findutils python3 python3-pip + - name: Install bashate + run: | + pip3 install --no-cache-dir bashate - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: From 3e2de01f05cb1b32f5297a346753a2d51490c3a9 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 19:11:10 -0500 Subject: [PATCH 6/7] Rockylinux 9 --- test/integration/openssh_version_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/openssh_version_test.go b/test/integration/openssh_version_test.go index 4b7687ca..5191f7ce 100644 --- a/test/integration/openssh_version_test.go +++ b/test/integration/openssh_version_test.go @@ -52,7 +52,7 @@ func TestOpenSSHVersionDetection(t *testing.T) { }, { name: "RHEL/CentOS", - containerImage: "rockylinux:10", + containerImage: "rockylinux:9", setupCommands: []string{ "dnf clean all && dnf makecache && dnf install -y openssh-server sed", }, From bef82e905b51dd366fc13e1d88e3cb31b0dad468 Mon Sep 17 00:00:00 2001 From: Ethan Heilman Date: Sun, 14 Dec 2025 19:18:06 -0500 Subject: [PATCH 7/7] Switch back to opensuse/tumbleweed --- .github/workflows/ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f2e478d..34b877ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,15 +67,12 @@ jobs: name: Shell Scripts Lint & Test runs-on: ubuntu-24.04 container: - image: opensuse/leap:16.0 + image: opensuse/tumbleweed:latest@sha256:c13ace4cd56d5d5e57885672ea75d91c3320998405b0305a1adef4a1a423a9d9 steps: - name: Install packages run: | zypper refresh - zypper --non-interactive install --no-recommends git wget ShellCheck shunit2 findutils python3 python3-pip - - name: Install bashate - run: | - pip3 install --no-cache-dir bashate + zypper --non-interactive install --no-recommends git wget ShellCheck shunit2 findutils python313-bashate - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: