CI:改用 tarball 下载 MOOS-IvP 源码(git clone 经代理卡死)
build-test-deploy / ci (push) Failing after 17m52s

This commit is contained in:
zjk
2026-08-14 13:40:39 +08:00
parent 8fff86b9a3
commit 53998ee1c5
+22 -8
View File
@@ -5,7 +5,8 @@
# - MOOS-IvP built from source and installed to /usr/local
# - jsoncpp (the only extra dep used by pPowerManger)
# NOTE: github.com is unreachable from the CN runner, so MOOS-IvP
# is cloned via a github proxy with fallbacks.
# is fetched as a tarball through a github proxy (with
# fallbacks) instead of `git clone`.
#=======================================================================
FROM arm64v8/ubuntu:20.04
@@ -24,10 +25,28 @@ RUN sed -i \
cmake \
git \
ca-certificates \
curl \
tar \
libjsoncpp-dev \
rsync \
&& rm -rf /var/lib/apt/lists/*
#-----------------------------------------------------------------------
# Fetch MOOS-IvP source tarball (github blocked -> try proxies then direct)
#-----------------------------------------------------------------------
RUN set -eux; \
ok=0; \
for p in "https://gh-proxy.com/" "https://ghfast.top/" "https://ghproxy.net/" "https://github.com/"; do \
if curl -fsSL --retry 3 --max-time 300 \
"${p}https://github.com/moos-ivp/moos-ivp/archive/refs/heads/main.tar.gz" \
-o /tmp/moos-ivp.tar.gz; then ok=1; break; fi; \
done; \
[ "$ok" = "1" ] || { echo "MOOS-IvP download failed"; exit 1; }; \
mkdir -p /opt/moos-ivp; \
tar -xzf /tmp/moos-ivp.tar.gz -C /opt/moos-ivp --strip-components=1; \
rm -f /tmp/moos-ivp.tar.gz; \
ls /opt/moos-ivp
#-----------------------------------------------------------------------
# Build & install MOOS-IvP (bundles MOOS core + essentials + geodesy + ivp)
# build-moos.sh -m : skip GUI tools (no FLTK needed)
@@ -35,14 +54,9 @@ RUN sed -i \
# Installs libMOOS + MOOSConfig.cmake + ivp headers/libs to /usr/local,
# matching the layout expected by the project's top-level CMakeLists.txt.
#-----------------------------------------------------------------------
WORKDIR /opt
WORKDIR /opt/moos-ivp
RUN git clone --depth 1 https://gh-proxy.com/https://github.com/moos-ivp/moos-ivp.git /opt/moos-ivp \
|| git clone --depth 1 https://ghfast.top/https://github.com/moos-ivp/moos-ivp.git /opt/moos-ivp \
|| git clone --depth 1 https://github.com/moos-ivp/moos-ivp.git /opt/moos-ivp
RUN cd /opt/moos-ivp && \
./build-moos.sh -m -j"$(nproc)" && \
RUN ./build-moos.sh -m -j"$(nproc)" && \
make -C build/MOOS/MOOSCore install && \
make -C build/MOOS/MOOSGeodesy install && \
./build-ivp.sh -n -j"$(nproc)" && \