@@ -44,6 +44,7 @@ prepare_hived_image:
4444 tags :
4545 - public-runner-docker
4646 - hived-for-tests
47+ - haf-build-mainnet
4748
4849prepare_hived_data :
4950 extends : .prepare_hived_data_5m
@@ -99,6 +100,7 @@ testnet_node_build:
99100 tags :
100101 - public-runner-docker
101102 - hived-for-tests
103+ - haf-build-testnet
102104
103105beekeeper_tsc_build :
104106 extends : .npm_build_template
@@ -224,6 +226,7 @@ mirrornet_node_build:
224226 tags :
225227 - public-runner-docker
226228 - hived-for-tests
229+ - haf-build-mirrornet
227230
228231extended_block_log_creation :
229232 extends : .extended_block_log_creation
@@ -236,8 +239,8 @@ extended_block_log_creation:
236239 IMAGE_TAG : " ${CI_COMMIT_SHORT_SHA}"
237240 HIVE_SRC : " ${CI_PROJECT_DIR}"
238241 HIVE_COMMIT : " ${CI_COMMIT_SHORT_SHA}"
239- # Use NFS cache path - monolithic mainnet 5M block_log is required for this job
240- BLOCK_LOG_SOURCE_DIR : " /nfs/ci-cache/hive/block_log_5m_monolithic "
242+ # Use local block_log - all CI runners mount /blockchain read-only via services_volumes
243+ BLOCK_LOG_SOURCE_DIR : " $BLOCK_LOG_SOURCE_DIR_5M "
241244 BINARY_PATH : " ${CI_PROJECT_DIR}/hived-mirrornet-binaries"
242245 rules :
243246 - if : $CI_COMMIT_TAG
@@ -293,8 +296,9 @@ mirrornet_replay_test:
293296
294297 variables :
295298 BINARIES_DIR : " hived-mirrornet-binaries"
296- # Use NFS cache path - mainnet 5M block_log part files are cached here
297- BLOCK_LOG_SOURCE_DIR : " /nfs/ci-cache/hive/block_log_5m"
299+ SCRIPTS_PATH : " $CI_PROJECT_DIR/scripts"
300+ # Use local block_log - all CI runners mount /blockchain read-only via services_volumes
301+ BLOCK_LOG_SOURCE_DIR : " $BLOCK_LOG_SOURCE_DIR_5M"
298302 NUMBER_OF_BLOCKS : 5000000
299303 MIRRORNET_WORKING_DIR : " $CI_PROJECT_DIR/mirrornet"
300304 MIRRORNET_BLOCKCHAIN_DATA_DIR : " $MIRRORNET_WORKING_DIR/mirrornet_blockchain_data"
@@ -309,15 +313,12 @@ mirrornet_replay_test:
309313 - mkdir -p "$MIRRORNET_BLOCKCHAIN_DATA_DIR"
310314 - mkdir -p "$MIRRORNET_BLOCKCHAIN_DATA_DIR/blockchain"
311315 - cp "$CI_PROJECT_DIR/docker/config_mirrornet_5M.ini" "$MIRRORNET_WORKING_DIR/config.ini"
312- # Copy mainnet 5M block_log part files from NFS cache
313- - cp ${BLOCK_LOG_SOURCE_DIR}/block_log_part.* "$MIRRORNET_SOURCE_5M_DATA_DIR/blockchain/"
316+ # Copy monolithic block_log from local mount (no merge step needed)
317+ - cp "${BLOCK_LOG_SOURCE_DIR}/block_log" "$MIRRORNET_SOURCE_5M_DATA_DIR/blockchain/"
318+ - cp "${BLOCK_LOG_SOURCE_DIR}/block_log.artifacts" "$MIRRORNET_SOURCE_5M_DATA_DIR/blockchain/"
314319 - ls -la "$MIRRORNET_SOURCE_5M_DATA_DIR/blockchain/"
315320 - cd "$BINARIES_DIR"
316321 script :
317- - echo "Generating artifacts file for block_log."
318- - time ./hived
319- --block-log-split=-1
320- -d "$MIRRORNET_SOURCE_5M_DATA_DIR"
321322 - echo "Compressing block log to $NUMBER_OF_BLOCKS blocks with $NUMBER_OF_PROCESSES processes"
322323 - time ./compress_block_log
323324 -i "$MIRRORNET_SOURCE_5M_DATA_DIR/blockchain/block_log"
@@ -345,13 +346,15 @@ mirrornet_replay_test:
345346 --validate-during-replay
346347 --stop-at-block $NUMBER_OF_BLOCKS
347348 --exit-before-sync | tee hived-replay.log
348- # Push generated mirrornet block_log to NFS cache for HAF CI
349+ # Push generated mirrornet block_log to NFS cache for HAF CI using cache-manager
350+ # Uses tar archive for atomic writes and metadata tracking
349351 - echo "Pushing mirrornet block_log to NFS cache..."
350- - NFS_CACHE_DIR="/nfs/ci-cache/hive/block_log_5m_mirrornet"
351- - mkdir -p "$NFS_CACHE_DIR"
352- - cp "$MIRRORNET_BLOCKCHAIN_DATA_DIR/blockchain/block_log" "$NFS_CACHE_DIR/"
353- - cp "$MIRRORNET_BLOCKCHAIN_DATA_DIR/blockchain/block_log.artifacts" "$NFS_CACHE_DIR/"
354- - ls -lAh "$NFS_CACHE_DIR"
352+ - CACHE_MANAGER="$SCRIPTS_PATH/ci-helpers/cache-manager.sh"
353+ - |
354+ if [[ -x "$CACHE_MANAGER" ]]; then
355+ "$CACHE_MANAGER" put hive block_log_5m_mirrornet "$MIRRORNET_BLOCKCHAIN_DATA_DIR/blockchain" || echo "Warning: cache-manager put failed, using direct copy"
356+ fi
357+ - ls -lAh /nfs/ci-cache/hive/
355358 artifacts :
356359 paths :
357360 - " $BINARIES_DIR/*.log"
0 commit comments