From d306322c46474464ed5c51609ed54fa87c8521d9 Mon Sep 17 00:00:00 2001 From: hunterhubble Date: Sat, 12 Sep 2026 11:02:13 -0700 Subject: [PATCH] fix: docker.yml always pulls the latest hubble-satnet-decoder Makes the workflow update to the latest version of hubble-satnet-decoder. Signed-off-by: hunterhubble --- .github/workflows/docker.yml | 2 ++ Dockerfile | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3434a18..788afee 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -52,5 +52,7 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + build-args: | + DECODER_CACHE_BUST=${{ github.run_id }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index fc3097f..9848337 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,10 +80,12 @@ COPY decoder-src* /tmp/decoder-src/ # beyond 1.x or gnuradio fails to import. --ignore-installed is needed because some system # distutils packages (blinker, etc.) can't be pip-uninstalled cleanly. RUN python3 -m pip install --upgrade pip setuptools wheel -# NOTE: a non-local build pulls hubble-satnet-decoder from PyPI. Until 1.2.0 (which adds -# analyze_packet) is published, the app imports will fail at startup on a non-local build -- -# use --build-arg USE_LOCAL_DECODER=1 in the meantime. -RUN python3 -m pip install --ignore-installed -e . "numpy>=1.26,<2" + +# DECODER_CACHE_BUST is set to a fresh value by CI so this layer always re-resolves +# hubble-satnet-decoder against PyPI instead of reusing a stale cached layer. +ARG DECODER_CACHE_BUST=0 +RUN echo "decoder cache bust: ${DECODER_CACHE_BUST}" && \ + python3 -m pip install --ignore-installed -e . "numpy>=1.26,<2" # For a local decoder build, override the PyPI decoder that `-e .` just pulled with the copied # source (--no-deps, so only the decoder package is replaced) so the local version wins.