Skip to content

Commit 4bd0614

Browse files
committed
ci: retry HuggingFace model downloads to survive transient 429s
The model-download steps used `curl -L --fail` with no retry, so a single transient HTTP 429 (HuggingFace rate-limiting) failed the whole job — e.g. the default codellama-7b.Q2_K.gguf download in run 27778671637. Add `--retry 5 --retry-all-errors` to all 31 model-download curls (the Linux bash blocks and the Windows pwsh block). curl honors the server's Retry-After header and backs off on 429/5xx/connection errors; `--fail` still fails the step only after the retries are exhausted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014L2dLbAtwdq7C6a2gFRsQQ
1 parent 8d047dd commit 4bd0614

1 file changed

Lines changed: 31 additions & 31 deletions

File tree

.github/workflows/publish.yml

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -393,19 +393,19 @@ jobs:
393393
name: Linux-x86_64-libraries
394394
path: ${{ github.workspace }}/src/main/resources/net/ladenthin/llama/
395395
- name: Download text generation model
396-
run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
396+
run: curl -L --fail --retry 5 --retry-all-errors ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
397397
- name: Download reranking model
398-
run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
398+
run: curl -L --fail --retry 5 --retry-all-errors ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
399399
- name: Download draft model
400-
run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
400+
run: curl -L --fail --retry 5 --retry-all-errors ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
401401
- name: Download reasoning model
402-
run: curl -L --fail ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
402+
run: curl -L --fail --retry 5 --retry-all-errors ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
403403
- name: Download nomic embedding model (issue #98 regression)
404-
run: curl -L --fail ${NOMIC_EMBED_MODEL_URL} --create-dirs -o models/${NOMIC_EMBED_MODEL_NAME}
404+
run: curl -L --fail --retry 5 --retry-all-errors ${NOMIC_EMBED_MODEL_URL} --create-dirs -o models/${NOMIC_EMBED_MODEL_NAME}
405405
- name: Download vision model (issues #103 / #34)
406-
run: curl -L --fail ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
406+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
407407
- name: Download vision mmproj
408-
run: curl -L --fail ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
408+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
409409
- name: List files in models directory
410410
run: ls -l models/
411411
- name: Validate model files
@@ -514,17 +514,17 @@ jobs:
514514
name: macos-14-libraries
515515
path: ${{ github.workspace }}/src/main/resources/net/ladenthin/llama/
516516
- name: Download text generation model
517-
run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
517+
run: curl -L --fail --retry 5 --retry-all-errors ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
518518
- name: Download reranking model
519-
run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
519+
run: curl -L --fail --retry 5 --retry-all-errors ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
520520
- name: Download draft model
521-
run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
521+
run: curl -L --fail --retry 5 --retry-all-errors ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
522522
- name: Download reasoning model
523-
run: curl -L --fail ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
523+
run: curl -L --fail --retry 5 --retry-all-errors ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
524524
- name: Download vision model (issues #103 / #34)
525-
run: curl -L --fail ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
525+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
526526
- name: Download vision mmproj
527-
run: curl -L --fail ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
527+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
528528
- name: List files in models directory
529529
run: ls -l models/
530530
- name: Validate model files
@@ -578,17 +578,17 @@ jobs:
578578
name: macos-15-libraries
579579
path: ${{ github.workspace }}/src/main/resources/net/ladenthin/llama/
580580
- name: Download text generation model
581-
run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
581+
run: curl -L --fail --retry 5 --retry-all-errors ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
582582
- name: Download reranking model
583-
run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
583+
run: curl -L --fail --retry 5 --retry-all-errors ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
584584
- name: Download draft model
585-
run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
585+
run: curl -L --fail --retry 5 --retry-all-errors ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
586586
- name: Download reasoning model
587-
run: curl -L --fail ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
587+
run: curl -L --fail --retry 5 --retry-all-errors ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
588588
- name: Download vision model (issues #103 / #34)
589-
run: curl -L --fail ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
589+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
590590
- name: Download vision mmproj
591-
run: curl -L --fail ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
591+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
592592
- name: List files in models directory
593593
run: ls -l models/
594594
- name: Validate model files
@@ -642,17 +642,17 @@ jobs:
642642
name: macos-15-metal-libraries
643643
path: ${{ github.workspace }}/src/main/resources/net/ladenthin/llama/
644644
- name: Download text generation model
645-
run: curl -L --fail ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
645+
run: curl -L --fail --retry 5 --retry-all-errors ${MODEL_URL} --create-dirs -o models/${MODEL_NAME}
646646
- name: Download reranking model
647-
run: curl -L --fail ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
647+
run: curl -L --fail --retry 5 --retry-all-errors ${RERANKING_MODEL_URL} --create-dirs -o models/${RERANKING_MODEL_NAME}
648648
- name: Download draft model
649-
run: curl -L --fail ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
649+
run: curl -L --fail --retry 5 --retry-all-errors ${DRAFT_MODEL_URL} --create-dirs -o models/${DRAFT_MODEL_NAME}
650650
- name: Download reasoning model
651-
run: curl -L --fail ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
651+
run: curl -L --fail --retry 5 --retry-all-errors ${REASONING_MODEL_URL} --create-dirs -o models/${REASONING_MODEL_NAME}
652652
- name: Download vision model (issues #103 / #34)
653-
run: curl -L --fail ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
653+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MODEL_URL} --create-dirs -o models/${VISION_MODEL_NAME}
654654
- name: Download vision mmproj
655-
run: curl -L --fail ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
655+
run: curl -L --fail --retry 5 --retry-all-errors ${VISION_MMPROJ_URL} --create-dirs -o models/${VISION_MMPROJ_NAME}
656656
- name: List files in models directory
657657
run: ls -l models/
658658
- name: Validate model files
@@ -709,17 +709,17 @@ jobs:
709709
name: Windows-x86_64-libraries
710710
path: ${{ github.workspace }}/src/main/resources/net/ladenthin/llama/
711711
- name: Download text generation model
712-
run: curl -L --fail $env:MODEL_URL --create-dirs -o models/$env:MODEL_NAME
712+
run: curl -L --fail --retry 5 --retry-all-errors $env:MODEL_URL --create-dirs -o models/$env:MODEL_NAME
713713
- name: Download reranking model
714-
run: curl -L --fail $env:RERANKING_MODEL_URL --create-dirs -o models/$env:RERANKING_MODEL_NAME
714+
run: curl -L --fail --retry 5 --retry-all-errors $env:RERANKING_MODEL_URL --create-dirs -o models/$env:RERANKING_MODEL_NAME
715715
- name: Download draft model
716-
run: curl -L --fail $env:DRAFT_MODEL_URL --create-dirs -o models/$env:DRAFT_MODEL_NAME
716+
run: curl -L --fail --retry 5 --retry-all-errors $env:DRAFT_MODEL_URL --create-dirs -o models/$env:DRAFT_MODEL_NAME
717717
- name: Download reasoning model
718-
run: curl -L --fail $env:REASONING_MODEL_URL --create-dirs -o models/$env:REASONING_MODEL_NAME
718+
run: curl -L --fail --retry 5 --retry-all-errors $env:REASONING_MODEL_URL --create-dirs -o models/$env:REASONING_MODEL_NAME
719719
- name: Download vision model (issues #103 / #34)
720-
run: curl -L --fail $env:VISION_MODEL_URL --create-dirs -o models/$env:VISION_MODEL_NAME
720+
run: curl -L --fail --retry 5 --retry-all-errors $env:VISION_MODEL_URL --create-dirs -o models/$env:VISION_MODEL_NAME
721721
- name: Download vision mmproj
722-
run: curl -L --fail $env:VISION_MMPROJ_URL --create-dirs -o models/$env:VISION_MMPROJ_NAME
722+
run: curl -L --fail --retry 5 --retry-all-errors $env:VISION_MMPROJ_URL --create-dirs -o models/$env:VISION_MMPROJ_NAME
723723
- name: List files in models directory
724724
run: ls -l models/
725725
- name: Validate model files

0 commit comments

Comments
 (0)