Skip to content

Commit 5102c66

Browse files
committed
ci: build/download torrent + confirm hashes
1 parent f75e5f1 commit 5102c66

1 file changed

Lines changed: 71 additions & 2 deletions

File tree

.github/workflows/hashes.yaml

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ jobs:
155155
while read line; do
156156
[ -z "$line" ] && continue
157157
url=$(echo $line | cut -d'|' -f1)
158+
[[ "$url" == *torrent ]] && continue
158159
hash=$(echo $line | cut -d'|' -f2)
159160
filename=
160161
case $url in
@@ -206,8 +207,8 @@ jobs:
206207
cp monero-source-${version_cli}.tar.bz2 yours/.
207208
mkdir from_website
208209
echo -e "\n--> Move tarballs from getmonero..."
209-
mv ../monero-gui-source-${version_gui}.tar.bz2 from_website/.
210-
mv ../monero-source-${version_cli}.tar.bz2 from_website/.
210+
cp ../monero-gui-source-${version_gui}.tar.bz2 from_website/.
211+
cp ../monero-source-${version_cli}.tar.bz2 from_website/.
211212
echo -e "\n--> Unpacking all..."
212213
bunzip2 yours/*.bz2
213214
bunzip2 from_website/*.bz2
@@ -220,3 +221,71 @@ jobs:
220221
diff -r yours/monero-source-$version_cli from_website/monero-source-$version_cli
221222
echo -e "\n--> Comparing GUI directories"
222223
diff -r yours/monero-gui-source-$version_gui from_website/monero-gui-source-$version_gui
224+
- name: Verify torrent + magnet links
225+
run: |
226+
sudo apt-get install -y --no-install-recommends transmission-cli
227+
228+
version_gui=$(awk '/monero-gui-source-v/ {print $2}' downloads/hashes.txt | awk -F".tar.bz2" '{print $1}' | awk -F"-" '{print $4}')
229+
version_cli=$(awk '/monero-source-v/ {print $2}' downloads/hashes.txt | awk -F".tar.bz2" '{print $1}' | awk -F"-" '{print $3}')
230+
231+
git clone --recurse-submodules https://github.com/plowsof/monero-torrent.git
232+
cd monero-torrent
233+
git reset --hard 3d9227f2a2aeb25a90077d99b6a90f70052cabe5
234+
cd ..
235+
236+
# move files for local build of torrent (requires files to be in a folder named cdn)
237+
mkdir monero-torrent/cdn
238+
grep monero- downloads/hashes.txt | awk '{print $2}' | while read -r f; do
239+
mv "$f" monero-torrent/cdn
240+
done
241+
wget https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/binaryfate.asc
242+
mv binaryfate.asc monero-torrent/cdn
243+
mv downloads/hashes.txt monero-torrent/cdn
244+
245+
# get magnet links from downloads.yml
246+
YML_MAGNET_LINK_CLI=$(yq -r '.cli[0].downloads[] | select(.platform=="Torrent") | .magnet' _data/downloads.yml)
247+
YML_MAGNET_LINK_GUI=$(yq -r '.gui[0].downloads[] | select(.platform=="Torrent") | .magnet' _data/downloads.yml)
248+
# create torrent files
249+
cd monero-torrent
250+
docker compose --profile local up --build
251+
252+
MAGNET_LINK_CLI=$(transmission-show -m watch/monero-$version_cli.torrent)
253+
MAGNET_LINK_GUI=$(transmission-show -m watch/monero-gui-$version_gui.torrent)
254+
255+
# confirm docker and .yml magnet links match
256+
if [[ "$MAGNET_LINK_CLI" != "$YML_MAGNET_LINK_CLI" ]]; then
257+
echo "CLI mismatch!"
258+
echo "DEBUG: MAGNET_LINK_CLI: $MAGNET_LINK_CLI"
259+
echo "DEBUG: YML_MAGNET_LINK_CLI: $YML_MAGNET_LINK_CLI"
260+
exit 1
261+
fi
262+
if [[ "$MAGNET_LINK_GUI" != "$YML_MAGNET_LINK_GUI" ]]; then
263+
echo "GUI mismatch!"
264+
echo "DEBUG: MAGNET_LINK_GUI: $MAGNET_LINK_GUI"
265+
echo "DEBUG: YML_MAGNET_LINK_GUI: $YML_MAGNET_LINK_GUI"
266+
exit 1
267+
fi
268+
269+
# confirm docker and cdn magnet links match
270+
#CDN_LINK_CLI="https://dlsrc.getmonero.org/monero-$version_cli.torrent"
271+
#CDN_LINK_GUI="https://dlsrc.getmonero.org/monero-gui-$version_gui.torrent"
272+
# TODO: download from monero-torrent repo for testing, replace with above dlsrc link in production
273+
CDN_LINK_CLI="https://github.com/plowsof/monero-torrent/releases/download/v0.18.4.4/monero-v0.18.4.4.torrent"
274+
CDN_LINK_GUI="https://github.com/plowsof/monero-torrent/releases/download/v0.18.4.4/monero-gui-v0.18.4.4.torrent"
275+
wget $CDN_LINK_CLI
276+
wget $CDN_LINK_GUI
277+
CDN_MAGNET_LINK_CLI=$(transmission-show -m monero-$version_cli.torrent)
278+
CDN_MAGNET_LINK_GUI=$(transmission-show -m monero-gui-$version_gui.torrent)
279+
280+
if [[ "$MAGNET_LINK_CLI" != "$CDN_MAGNET_LINK_CLI" ]]; then
281+
echo "CLI mismatch!"
282+
echo "DEBUG: MAGNET_LINK_CLI: $MAGNET_LINK_CLI"
283+
echo "DEBUG: CDN_MAGNET_LINK_CLI: $CDN_MAGNET_LINK_CLI"
284+
exit 1
285+
fi
286+
if [[ "$MAGNET_LINK_GUI" != "$CDN_MAGNET_LINK_GUI" ]]; then
287+
echo "GUI mismatch!"
288+
echo "DEBUG: MAGNET_LINK_GUI: $MAGNET_LINK_GUI"
289+
echo "DEBUG: CDN_MAGNET_LINK_GUI: $CDN_MAGNET_LINK_GUI"
290+
exit 1
291+
fi

0 commit comments

Comments
 (0)