1- name : Recover v1.0.6 Deepin assets
1+ name : Recover v1.0.6 Deepin ARMv7 asset
22' on ' :
33 push :
44 branches :
@@ -7,7 +7,7 @@ permissions:
77 contents : read
88 actions : read
99concurrency :
10- group : recover-v1.0.6-deepin
10+ group : recover-v1.0.6-deepin-armv7
1111 cancel-in-progress : false
1212jobs :
1313 build-web-ui :
9797 fail-fast : false
9898 matrix :
9999 include :
100- - id : linux-deepin-x64
101- os : ubuntu-22.04
102- triplet : x64-linux
103- executable : acecode
104- archive_extension : tar.gz
105- build_desktop : true
106- cmake_extra_args : -DACECODE_BUILD_DESKTOP=ON -DACECODE_DEEPIN=ON -DWEBVIEW_WEBKITGTK_API=4.0
107- - id : linux-deepin-arm64
108- os : ubuntu-22.04-arm
109- triplet : arm64-linux
110- executable : acecode
111- archive_extension : tar.gz
112- build_desktop : true
113- cmake_extra_args : -DACECODE_BUILD_DESKTOP=ON -DACECODE_DEEPIN=ON -DWEBVIEW_WEBKITGTK_API=4.0
114100 - id : linux-deepin-armv7
115101 os : ubuntu-22.04
116102 triplet : arm-linux
@@ -178,6 +164,19 @@ jobs:
178164 qemu-user
179165 )
180166 fi
167+ # A regional archive CDN keeps returning a cached 404 for this existing file.
168+ # Select exactly the APT candidate and verify its signed-index SHA256.
169+ ace_candidate="$(apt-cache policy libclang-cpp11 | awk '/Candidate:/{print $2; exit}')"
170+ ace_record="$(apt-cache show "libclang-cpp11=$ace_candidate")"
171+ ace_package="$(printf '%s\n' "$ace_record" | awk '/^Filename:/{print $2; exit}')"
172+ ace_expected="$(printf '%s\n' "$ace_record" | awk '/^SHA256:/{print $2; exit}')"
173+ test -n "$ace_package" && test "${#ace_expected}" = "64"
174+ ace_cache="/var/cache/apt/archives/$(basename "$ace_package")"
175+ curl --fail --location --retry 3 --connect-timeout 20 --max-time 180 \
176+ "https://archive.debian.org/debian/$ace_package?acecode-recovery=$GITHUB_RUN_ID" \
177+ --output "$ace_cache.acecode-download"
178+ printf '%s %s\n' "$ace_expected" "$ace_cache.acecode-download" | sha256sum --check -
179+ mv "$ace_cache.acecode-download" "$ace_cache"
181180 for ace_attempt in 1 2 3; do
182181 if apt-get install -y --no-install-recommends "${packages[@]}"; then break; fi
183182 if [ "$ace_attempt" = "3" ]; then exit 100; fi
0 commit comments