Commit 2bbc53c983 for openssl.org

commit 2bbc53c98394992d5d9efa102a593cd99003cd02
Author: Tomas Mraz <tomas@openssl.org>
Date:   Tue Mar 10 20:18:40 2026 +0100

    Add openssl-4.0 branch to various CI jobs

    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
    MergeDate: Thu Mar 12 09:30:32 2026
    (Merged from https://github.com/openssl/openssl/pull/30354)

diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 892e944113..3a96f04cf6 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -19,6 +19,9 @@ jobs:
       matrix:
         release: [
           {
+            branch: '4.0',
+            cppflags: ''
+          }, {
             branch: '3.6',
             cppflags: ''
           }, {
diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coveralls.yml
index aac7f14081..d28c4e9639 100644
--- a/.github/workflows/coveralls.yml
+++ b/.github/workflows/coveralls.yml
@@ -46,6 +46,9 @@ jobs:
           else
           MATRIX=$(cat << EOF
           [{
+              "branch": "openssl-4.0",
+              "extra_config": "no-afalgeng enable-fips enable-tfo"
+            },{
               "branch": "openssl-3.6",
               "extra_config": "no-afalgeng enable-fips enable-tfo"
             },{
diff --git a/.github/workflows/interop-tests.yml b/.github/workflows/interop-tests.yml
index 4a9bab031f..a9fbc09c27 100644
--- a/.github/workflows/interop-tests.yml
+++ b/.github/workflows/interop-tests.yml
@@ -68,6 +68,7 @@ jobs:
       matrix:
         branch: [
           { openssl: 'master', openssh: 'openssl-master', openssl_config: 'no-docs'},
+          { openssl: 'openssl-4.0', openssh: 'openssl-4.0', openssl_config: 'no-docs'},
           { openssl: 'openssl-3.6', openssh: 'openssl-3.6', openssl_config: 'no-docs'},
           { openssl: 'openssl-3.5', openssh: 'openssl-3.5', openssl_config: 'no-docs'},
           { openssl: 'openssl-3.4', openssh: 'openssl-3.4', openssl_config: 'no-docs'},
diff --git a/.github/workflows/prov-compat-label.yml b/.github/workflows/prov-compat-label.yml
index fd35a4f848..a794df0661 100644
--- a/.github/workflows/prov-compat-label.yml
+++ b/.github/workflows/prov-compat-label.yml
@@ -135,6 +135,11 @@ jobs:
             dir: branch-3.6,
             tgz: branch-3.6.tar.gz,
             extra_config: "enable-lms",
+          }, {
+            name: openssl-4.0,
+            dir: branch-4.0,
+            tgz: branch-4.0.tar.gz,
+            extra_config: "enable-lms enable-tls-deprecated-ec",
           }, {
             name: master,
             dir: branch-master,
@@ -205,12 +210,14 @@ jobs:
         # Note that releases are not used as a test environment for
         # later providers.  Problems in these situations ought to be
         # caught by cross branch testing before the release.
-        tree_a: [ branch-3.6, branch-3.5, branch-3.4, branch-3.3, branch-3.0,
+        tree_a: [ branch-4.0, branch-3.6, branch-3.5, branch-3.4, branch-3.3, branch-3.0,
                   openssl-3.0.0, openssl-3.0.8, openssl-3.0.9, openssl-3.1.2 ]
         tree_b: [ PR ]
         include:
           - tree_a: PR
             tree_b: branch-master
+          - tree_a: PR
+            tree_b: branch-4.0
           - tree_a: PR
             tree_b: branch-3.6
           - tree_a: PR
diff --git a/.github/workflows/provider-compatibility.yml b/.github/workflows/provider-compatibility.yml
index b5d4419576..984c235afd 100644
--- a/.github/workflows/provider-compatibility.yml
+++ b/.github/workflows/provider-compatibility.yml
@@ -139,6 +139,11 @@ jobs:
             dir: branch-3.6,
             tgz: branch-3.6.tar.gz,
             extra_config: "enable-lms",
+          }, {
+            name: openssl-4.0,
+            dir: branch-4.0,
+            tgz: branch-4.0.tar.gz,
+            extra_config: "enable-lms enable-tls-deprecated-ec",
           }, {
             name: master,
             dir: branch-master,
@@ -213,11 +218,11 @@ jobs:
         # Note that releases are not used as a test environment for
         # later providers.  Problems in these situations ought to be
         # caught by cross branch testing before the release.
-        tree_a: [ branch-master, branch-3.6, branch-3.5, branch-3.4, branch-3.3,
-                  branch-3.0,
+        tree_a: [ branch-master, branch-4.0, branch-3.6, branch-3.5, branch-3.4,
+                  branch-3.3, branch-3.0,
                   openssl-3.0.0, openssl-3.0.8, openssl-3.0.9, openssl-3.1.2 ]
-        tree_b: [ branch-master, branch-3.6, branch-3.5, branch-3.4, branch-3.3,
-                  branch-3.0  ]
+        tree_b: [ branch-master, branch-4.0, branch-3.6, branch-3.5, branch-3.4,
+                  branch-3.3, branch-3.0  ]
     steps:
       - name: early exit checks
         id: early_exit