ci: fix libabigail cache in GHA

Message ID 20230620132955.46852-1-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series ci: fix libabigail cache in GHA |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS

Commit Message

David Marchand June 20, 2023, 1:29 p.m. UTC
  In repositories where multiple branches run the ABI checks using
different versions of libabigail (for example, a 22.11 branch using
libabigail-1.8 and a main branch using libabigail-2.1), a collision
happens on the libabigail binary cache entry.
As a single cache entry is used, the content of the cache (let's say the
cache was built for libabigail 2.1) won't match what the branch wants to
use (in this example running the check for 22.11 branch requires
libabigail 1.8).
.ci/linux-build.sh then tries to recompile libabigail but it fails as
the packages used for building libabigail are missing.

Add the version to the cache entry name to avoid this collision.

Fixes: 443267090edc ("ci: enable v21 ABI checks")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Aaron Conole June 20, 2023, 2:21 p.m. UTC | #1
David Marchand <david.marchand@redhat.com> writes:

> In repositories where multiple branches run the ABI checks using
> different versions of libabigail (for example, a 22.11 branch using
> libabigail-1.8 and a main branch using libabigail-2.1), a collision
> happens on the libabigail binary cache entry.
> As a single cache entry is used, the content of the cache (let's say the
> cache was built for libabigail 2.1) won't match what the branch wants to
> use (in this example running the check for 22.11 branch requires
> libabigail 1.8).
> .ci/linux-build.sh then tries to recompile libabigail but it fails as
> the packages used for building libabigail are missing.
>
> Add the version to the cache entry name to avoid this collision.
>
> Fixes: 443267090edc ("ci: enable v21 ABI checks")
> Cc: stable@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---

Acked-by: Aaron Conole <aconole@redhat.com>
  
Thomas Monjalon June 22, 2023, 5:41 p.m. UTC | #2
20/06/2023 16:21, Aaron Conole:
> David Marchand <david.marchand@redhat.com> writes:
> 
> > In repositories where multiple branches run the ABI checks using
> > different versions of libabigail (for example, a 22.11 branch using
> > libabigail-1.8 and a main branch using libabigail-2.1), a collision
> > happens on the libabigail binary cache entry.
> > As a single cache entry is used, the content of the cache (let's say the
> > cache was built for libabigail 2.1) won't match what the branch wants to
> > use (in this example running the check for 22.11 branch requires
> > libabigail 1.8).
> > .ci/linux-build.sh then tries to recompile libabigail but it fails as
> > the packages used for building libabigail are missing.
> >
> > Add the version to the cache entry name to avoid this collision.
> >
> > Fixes: 443267090edc ("ci: enable v21 ABI checks")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> 
> Acked-by: Aaron Conole <aconole@redhat.com>

Applied, thanks.
  

Patch

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3b629fcdbd..7b69771a58 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -69,7 +69,7 @@  jobs:
       id: get_ref_keys
       run: |
         echo 'ccache=ccache-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-'$(date -u +%Y-w%W) >> $GITHUB_OUTPUT
-        echo 'libabigail=libabigail-${{ matrix.config.os }}' >> $GITHUB_OUTPUT
+        echo 'libabigail=libabigail-${{ env.LIBABIGAIL_VERSION }}-${{ matrix.config.os }}' >> $GITHUB_OUTPUT
         echo 'abi=abi-${{ matrix.config.os }}-${{ matrix.config.compiler }}-${{ matrix.config.cross }}-${{ env.REF_GIT_TAG }}' >> $GITHUB_OUTPUT
     - name: Retrieve ccache cache
       uses: actions/cache@v3