From 695e11f6c45614026d18883e637bbd565c15ac9f Mon Sep 17 00:00:00 2001 From: Srikrishna Veturi Date: Wed, 22 Apr 2026 17:07:16 -0500 Subject: [PATCH 1/5] Add test scenario coverage for Linux distros --- .../GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml | 4 +++- .../TestMap/Redhat90-Arm64-TestGroup.yml | 6 +++++- e2etest/GuestProxyAgentTest/TestMap/Redhat90-TestGroup.yml | 6 +++++- e2etest/GuestProxyAgentTest/TestMap/Rocky9-TestGroup.yml | 6 +++++- .../TestMap/Suse15SP4-Arm64-TestGroup.yml | 6 +++++- e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-TestGroup.yml | 6 +++++- e2etest/GuestProxyAgentTest/TestMap/Ubuntu20-TestGroup.yml | 6 +++++- .../TestMap/Ubuntu22-Arm64-TestGroup.yml | 6 +++++- e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-TestGroup.yml | 4 +++- 9 files changed, 41 insertions(+), 9 deletions(-) diff --git a/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml index 064da755..37c4ef45 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml @@ -9,4 +9,6 @@ scenarios: - name: LinuxPackageScenario className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario - name: ProxyAgentExtension - className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Redhat90-Arm64-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Redhat90-Arm64-TestGroup.yml index 1b4e76f5..1a7fec07 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Redhat90-Arm64-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Redhat90-Arm64-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Redhat90-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Redhat90-TestGroup.yml index c77b78c3..c84f4ad3 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Redhat90-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Redhat90-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Rocky9-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Rocky9-TestGroup.yml index 840b577b..2fb00c0c 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Rocky9-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Rocky9-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-Arm64-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-Arm64-TestGroup.yml index e9a4f447..45dc69d9 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-Arm64-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-Arm64-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-TestGroup.yml index 2f01767c..69510045 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Suse15SP4-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu20-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu20-TestGroup.yml index fa781b31..3d20febf 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu20-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu20-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-Arm64-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-Arm64-TestGroup.yml index 8bf9df8f..31a79623 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-Arm64-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-Arm64-TestGroup.yml @@ -7,4 +7,8 @@ scenarios: - className: GuestProxyAgentTest.TestScenarios.BVTScenario name: BVTScenario - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario + - name: ProxyAgentExtension + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file diff --git a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-TestGroup.yml index d5d6f31b..e43092ca 100644 --- a/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-TestGroup.yml +++ b/e2etest/GuestProxyAgentTest/TestMap/Ubuntu22-TestGroup.yml @@ -9,4 +9,6 @@ scenarios: - name: LinuxPackageScenario className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario - name: ProxyAgentExtension - className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension \ No newline at end of file + className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension + - name: LinuxImplicitExtension + className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file From b9af1c0a5d12c373665a3e08268d75f98d80d1ae Mon Sep 17 00:00:00 2001 From: Srikrishna Veturi Date: Fri, 24 Apr 2026 11:27:54 -0500 Subject: [PATCH 2/5] Delete Mariner tests and Fix Suse tests --- .../GuestProxyAgentExtensionValidation.sh | 12 ++++++++++++ .../TestMap/Mariner2-Fips-TestGroup.yml | 14 -------------- 2 files changed, 12 insertions(+), 14 deletions(-) delete mode 100644 e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml diff --git a/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh b/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh index a8399819..8df82073 100644 --- a/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh +++ b/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh @@ -55,6 +55,18 @@ if [[ $os == *"Ubuntu"* ]]; then break fi done +elif [[ $os == *"SUSE"* ]] || [[ $os == *"SLES"* ]]; then + for i in {1..3}; do + echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - start installing jq via zypper $i" + sudo zypper --non-interactive install jq + sleep 10 + install=$(zypper se --installed-only jq) + echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - install=$install" + if [[ $install == *"jq"* ]]; then + echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - jq installed successfully" + break + fi + done else for i in {1..3}; do echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - start installing jq via dnf $i" diff --git a/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml b/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml deleted file mode 100644 index 37c4ef45..00000000 --- a/e2etest/GuestProxyAgentTest/TestMap/Mariner2-Fips-TestGroup.yml +++ /dev/null @@ -1,14 +0,0 @@ -groupName: Mariner2-Fips -vmImagePublisher: microsoftcblmariner -vmImageOffer: cbl-mariner -vmImageSku: cbl-mariner-2-gen2-fips -vmImageVersion: latest -scenarios: - - className: GuestProxyAgentTest.TestScenarios.BVTScenario - name: BVTScenario - - name: LinuxPackageScenario - className: GuestProxyAgentTest.TestScenarios.LinuxPackageScenario - - name: ProxyAgentExtension - className: GuestProxyAgentTest.TestScenarios.ProxyAgentExtension - - name: LinuxImplicitExtension - className: GuestProxyAgentTest.TestScenarios.LinuxImplicitExtension \ No newline at end of file From 7f651d1255ed25060d89c95a1365536d4205cadd Mon Sep 17 00:00:00 2001 From: Srikrishna Veturi Date: Fri, 24 Apr 2026 11:34:38 -0500 Subject: [PATCH 3/5] Add Zypper to spell checker --- .github/actions/spelling/expect.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 8a5c2865..444e047f 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -377,4 +377,5 @@ xsi xxxx xxxxxxxx xxxxxxxxxxx -zipsas \ No newline at end of file +zipsas +zypper \ No newline at end of file From 5bc61c373904fd085dbdad3bf07476dfb5eb86cd Mon Sep 17 00:00:00 2001 From: Srikrishna Veturi Date: Mon, 27 Apr 2026 17:02:51 -0500 Subject: [PATCH 4/5] Install jq in Suse --- .../GuestProxyAgentExtensionValidation.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh b/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh index 8df82073..9595255b 100644 --- a/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh +++ b/e2etest/GuestProxyAgentTest/LinuxScripts/GuestProxyAgentExtensionValidation.sh @@ -58,11 +58,21 @@ if [[ $os == *"Ubuntu"* ]]; then elif [[ $os == *"SUSE"* ]] || [[ $os == *"SLES"* ]]; then for i in {1..3}; do echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - start installing jq via zypper $i" + sudo zypper refresh sudo zypper --non-interactive install jq + if ! command -v jq &>/dev/null; then + echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - zypper install failed, downloading jq binary directly" + arch=$(uname -m) + if [[ "$arch" == "aarch64" ]]; then + jq_arch="arm64" + else + jq_arch="amd64" + fi + sudo curl -L -o /usr/local/bin/jq "https://github.com/jqlang/jq/releases/latest/download/jq-linux-${jq_arch}" + sudo chmod +x /usr/local/bin/jq + fi sleep 10 - install=$(zypper se --installed-only jq) - echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - install=$install" - if [[ $install == *"jq"* ]]; then + if command -v jq &>/dev/null; then echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ") - jq installed successfully" break fi From ad74706425987c130227407d343764790809e10f Mon Sep 17 00:00:00 2001 From: Srikrishna Veturi Date: Fri, 1 May 2026 18:44:36 -0500 Subject: [PATCH 5/5] Fix snap CI issues --- .github/workflows/codeql.yml | 2 +- .github/workflows/reusable-build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 22dfbf71..bc414e62 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -78,7 +78,7 @@ jobs: rpm \ musl-tools \ - sudo snap install dotnet-sdk --classic + sudo apt-get install -y dotnet-sdk-8.0 sudo chown -R root:root /var/lib # Initializes the CodeQL tools for scanning. diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index f5fe69b1..b02fa3af 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -297,7 +297,7 @@ jobs: libssl-dev \ pkg-config \ - sudo snap install dotnet-sdk --classic + sudo apt-get install -y dotnet-sdk-8.0 sudo chown -R root:root /var/lib - name: Run build-linux.sh Debug amd64