@@ -116,7 +116,7 @@ jobs:
116116
117117 if [[ $CARDANO_DATABASE_V2_CAPABILITY == "true" ]]; then
118118 echo 'available_cardano_database_backends=["v1","v2"]' >> $GITHUB_OUTPUT
119- echo 'bin-cdb-download-matrix-include=[{"backend":"v2","os":"ubuntu-24.04","ledger_backend":"lmdb","extra_args":"--include-ancillary"}]' >> $GITHUB_OUTPUT
119+ echo 'bin-cdb-download-matrix-include=[{"backend":"v2","os":"ubuntu-24.04","ledger_backend":"lmdb","extra_args":"--include-ancillary"},{"backend":"v2","os":"ubuntu-24.04","ledger_backend":"legacy","extra_args":"--include-ancillary"} ]' >> $GITHUB_OUTPUT
120120 else
121121 echo 'available_cardano_database_backends=["v1"]' >> $GITHUB_OUTPUT
122122 echo 'bin-cdb-download-matrix-include=[]' >> $GITHUB_OUTPUT
@@ -293,16 +293,28 @@ jobs:
293293 shell : bash
294294 working-directory : ./bin
295295 run : |
296- ./mithril-client ${{ needs.prepare.outputs.debug_level }} --origin-tag CI cardano-db download ${{ steps.last_snapshot.outputs.hash }} --backend ${{ matrix.backend }} --download-dir "${{ matrix.backend }}" ${{ matrix.extra_args }} 2>&1 | tee cdb-${{ matrix.backend }}-download-output.txt
296+ ./mithril-client ${{ needs.prepare.outputs.debug_level }} --origin-tag CI cardano-db download ${{ steps.last_snapshot.outputs.hash }} \
297+ --backend ${{ matrix.backend }} --download-dir "${{ matrix.backend }}" ${{ matrix.extra_args }} --json \
298+ 2>&1 | tee cdb-${{ matrix.backend }}-download-output.json
297299
298- - name : Ledger state snapshot conversion from InMemory to LMDB
300+ - name : Ledger state snapshot conversion from InMemory to ${{ matrix.ledger_backend }}
299301 # The 'snapshot-converter' binary is not currently supported on Linux ARM64 platforms.
300- if : matrix.os != 'ubuntu-24.04-arm' && matrix.extra_args == '--include-ancillary' && matrix.ledger_backend == ' lmdb'
302+ if : matrix.os != 'ubuntu-24.04-arm' && matrix.extra_args == '--include-ancillary' && contains(fromJSON('[" lmdb", "legacy"]'), matrix.ledger_backend)
301303 env :
302304 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
303305 shell : bash
304306 working-directory : ./bin
305- run : ./mithril-client ${{ needs.prepare.outputs.debug_level }} tools utxo-hd snapshot-converter --db-directory ${{ matrix.backend }}/db --cardano-node-version latest --utxo-hd-flavor LMDB --commit
307+ run : |
308+ LEDGER_BACKEND="${{ matrix.ledger_backend }}"
309+ if [[ ${LEDGER_BACKEND,,} == "lmdb" ]]; then
310+ UTXO_HD_FLAVOR="LMDB"
311+ elif [[ ${LEDGER_BACKEND,,} == "legacy" ]]; then
312+ UTXO_HD_FLAVOR="Legacy"
313+ fi
314+
315+ ./mithril-client ${{ needs.prepare.outputs.debug_level }} tools utxo-hd snapshot-converter --db-directory ${{ matrix.backend }}/db \
316+ --cardano-node-version latest --utxo-hd-flavor $UTXO_HD_FLAVOR --commit --json \
317+ | tee cdb-${{ matrix.backend }}-converter-output.json
306318
307319 - name : Cardano Database V2 Snapshot / verify immutables
308320 if : matrix.backend == 'v2'
@@ -313,7 +325,14 @@ jobs:
313325 - name : Cardano Database Snapshot / verify Cardano node starts successfully
314326 if : matrix.os == 'ubuntu-24.04'
315327 shell : bash
316- run : .github/workflows/scripts/verify-cardano-db-restoration.sh ./bin/cdb-${{ matrix.backend }}-download-output.txt --ledger-backend ${{ matrix.ledger_backend }} ${{ matrix.extra_args }}
328+ run : |
329+ if [[ -e "./bin/cdb-${{ matrix.backend }}-converter-output.json" ]]; then
330+ DOCKER_CMD=$(jq -r ".run_docker_cmd" ./bin/cdb-${{ matrix.backend }}-converter-output.json)
331+ else
332+ DOCKER_CMD=$(jq -r ".run_docker_cmd" ./bin/cdb-${{ matrix.backend }}-download-output.json)
333+ fi
334+
335+ .github/workflows/scripts/verify-cardano-db-restoration.sh --docker-cmd "$DOCKER_CMD" --ledger-backend ${{ matrix.ledger_backend }} ${{ matrix.extra_args }}
317336
318337 - name : Cardano Database V2 Snapshot / verify tampered and missing immutables from a specific range
319338 if : matrix.backend == 'v2'
0 commit comments