@@ -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