Commit 20991f3000 for openssl.org

commit 20991f30006d20d2dac270077de7b20e78300b82
Author: Igor Ustinov <igus68@gmail.com>
Date:   Thu Nov 27 13:08:02 2025 +0100

    Branch 3.2 was removed from and branch 3.6 was added to the
    "Provider compatibility for PRs" test.
    Do not test the provider from the PR against modified branches.

    Reviewed-by: Tomas Mraz <tomas@openssl.org>
    Reviewed-by: Paul Dale <paul.dale@oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/29236)

diff --git a/.github/workflows/prov-compat-label.yml b/.github/workflows/prov-compat-label.yml
index 33e6135303..4fa4759c3d 100644
--- a/.github/workflows/prov-compat-label.yml
+++ b/.github/workflows/prov-compat-label.yml
@@ -113,10 +113,6 @@ jobs:
             name: openssl-3.0,
             dir: branch-3.0,
             tgz: branch-3.0.tar.gz,
-          }, {
-            name: openssl-3.2,
-            dir: branch-3.2,
-            tgz: branch-3.2.tar.gz,
           }, {
             name: openssl-3.3,
             dir: branch-3.3,
@@ -202,58 +198,63 @@ 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.5, branch-3.4, branch-3.3, branch-3.2, branch-3.0,
+        tree_a: [ 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-3.6
           - tree_a: PR
             tree_b: branch-3.5
           - tree_a: PR
             tree_b: branch-3.4
           - tree_a: PR
             tree_b: branch-3.3
-          - tree_a: PR
-            tree_b: branch-3.2
           - tree_a: PR
             tree_b: branch-3.0
     steps:
       - name: early exit checks
         id: early_exit
+        env:
+          B_BRANCH: ${{ matrix.tree_b }}
+          PR_LABELS: ${{ toJson(github.event.pull_request.labels.*.name) }}
         run: |
-          if [ "${{ matrix.tree_a }}" = "${{ matrix.tree_b }}" ];           \
-          then                                                              \
-            echo "Skipping because both are the same version";              \
-            exit 1;                                                         \
+          b_ver=${B_BRANCH#branch-}
+          b_label="branch: $b_ver"
+          if [[ "$PR_LABELS" == *"$b_label"* ]]; then
+            echo "Skipping branches modified by the PR"
+            echo "skip=true" >> "$GITHUB_OUTPUT"
+          else
+            echo "skip=false" >> "$GITHUB_OUTPUT"
           fi
-        continue-on-error: true

       - uses: actions/download-artifact@v6.0.0
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         with:
           name: ${{ matrix.tree_a }}.tar.gz
       - name: unpack first build
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: tar xzf "${{ matrix.tree_a }}.tar.gz"

       - uses: actions/download-artifact@v6.0.0
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         with:
           name: ${{ matrix.tree_b }}.tar.gz
       - name: unpack second build
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: tar xzf "${{ matrix.tree_b }}.tar.gz"

       - name: set up cross validation of FIPS from A with tree from B
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: |
           cp providers/fips.so ../${{ matrix.tree_b }}/providers/
           cp providers/fipsmodule.cnf ../${{ matrix.tree_b }}/providers/
         working-directory: ${{ matrix.tree_a }}

       - name: show module versions from cross validation
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: |
           ./util/wrap.pl -fips apps/openssl list -provider-path providers   \
                                                  -provider base             \
@@ -264,14 +265,14 @@ jobs:
         working-directory: ${{ matrix.tree_b }}

       - name: get cpu info
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: |
           cat /proc/cpuinfo
           ./util/opensslwrap.sh version -c
         working-directory: ${{ matrix.tree_b }}

       - name: run cross validation tests of FIPS from A with tree from B
-        if: steps.early_exit.outcome == 'success'
+        if: steps.early_exit.outputs.skip != 'true'
         run: |
           make test HARNESS_JOBS=${HARNESS_JOBS:-4}
         working-directory: ${{ matrix.tree_b }}