[PATCH] ci: fix race on container image name

David Marchand david.marchand at redhat.com
Wed Aug 2 08:54:04 CEST 2023


We had a race on the container image name when the prepare job was
running a day before the build job was triggered.

Example:
- a prepare job generated image name on 2023/08/01:

  2023-08-01T23:59:32.9711845Z ++ date -u +%Y-%m-%d
  2023-08-01T23:59:32.9713485Z + echo image=image-fedora:37-2023-08-01

- a few seconds later, the build jobs later tried to use a different
  image name on 2023/08/02:

  2023-08-02T00:01:29.9103180Z ++ date -u +%Y-%m-%d
  2023-08-02T00:01:29.9113486Z + echo image=image-fedora:37-2023-08-02

Fix this by directly reusing the prepare job output.

Fixes: b35c4b0aa2bc ("ci: add Fedora 35 container in GHA")
Cc: stable at dpdk.org

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 .github/workflows/build.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2c1eda9b18..7a2ac0ceee 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -148,6 +148,8 @@ jobs:
   prepare-container-images:
     name: ${{ join(matrix.config.*, '-') }}
     runs-on: ubuntu-latest
+    outputs:
+      image: ${{ steps.get_keys.outputs.image }}
 
     strategy:
       fail-fast: false
@@ -214,14 +216,13 @@ jobs:
       id: get_keys
       run: |
         echo 'ccache=ccache-${{ matrix.config.image }}-${{ matrix.config.compiler }}-'$(date -u +%Y-w%W) >> $GITHUB_OUTPUT
-        echo 'image=image-${{ matrix.config.image }}-'$(date -u +%Y-%m-%d) >> $GITHUB_OUTPUT
         echo 'logs=meson-logs-${{ join(matrix.config.*, '-') }}' | tr -d ':' >> $GITHUB_OUTPUT
     - name: Retrieve image cache
       id: image_cache
       uses: actions/cache at v3
       with:
         path: ~/.image
-        key: ${{ steps.get_keys.outputs.image }}
+        key: ${{ needs.prepare-container-images.outputs.image }}
     - name: Fail if no image (not supposed to happen)
       if: steps.image_cache.outputs.cache-hit != 'true'
       run: |
-- 
2.41.0



More information about the stable mailing list