You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CI image: hybrid PyPI / git-clone install for unreleased maintenance branches
Mirrors the same-named commit on ci/branch-neutral
(951166afe). The bootstrap commit on this
branch hit "No matching distribution found for gramps==6.1.*" because
no 6.1 release exists on PyPI yet; this commit adds the SHA-pinned
git-clone fallback to the Dockerfile and the matching SHA capture in
docker-build.yml so the gramps61 image can actually build.
See the parent commit (951166afe on ci/branch-neutral) for the design
write-up, local verification log (gramps60 PyPI path + gramps61
fallback path + bash unit tests of the failure-mode triage), and the
::notice:: / ::warning:: log convention.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
RUN pip install --no-cache-dir PyGObject pycairo orjson ruff dbf
77
+
78
+
# Install gramps: PyPI first, SHA-pinned git clone as fallback.
79
+
RUN /bin/bash -eo pipefail <<'BASH'
80
+
suffix_nodot="${GRAMPS_SERIES//./}"
81
+
if pip install --no-cache-dir "gramps==${GRAMPS_SERIES}.*" 2>/tmp/pip.err; then
82
+
echo "::notice::installed gramps==${GRAMPS_SERIES}.* from PyPI"
83
+
elif grep -q "No matching distribution found for gramps==" /tmp/pip.err; then
84
+
if [ -z "${GRAMPS_FALLBACK_SHA}" ]; then
85
+
echo "::error::no gramps==${GRAMPS_SERIES}.* on PyPI and GRAMPS_FALLBACK_SHA is unset"
86
+
exit 1
87
+
fi
88
+
echo "::warning::no gramps==${GRAMPS_SERIES}.* on PyPI; installing from gramps-project/gramps@maintenance/gramps${suffix_nodot} at ${GRAMPS_FALLBACK_SHA}"
0 commit comments