Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
10 changes: 6 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading