動作下載神器
6
下載並提取與給定工作流程和提交或其他標準相關的上傳工件的操作。
假設您有一個包含作業的工作流程,最後使用actions/upload-artifact
操作上傳工件,並且您希望在第一個工作流程之後執行的另一個工作流程中下載此工件。官方actions/download-artifact
不允許這樣做。這就是我決定創建這個動作的原因。透過僅了解工作流程名稱和提交 SHA 或其他詳細信息,您可以從與該提交或其他條件關聯的不同工作流程下載之前上傳的工件並使用它。
如果未指定
commit
、pr
、branch
、run_id
或workflow_conclusion
,則會下載最近成功完成的工作流程執行中的工件。
不要同時指定pr
、 commit
、 branch
、 run_id
或同時指定workflow_conclusion
和run_id
。只選擇其中一項或不選擇一項。
- name: 下載工件id: download-artifact 使用:dawidd6/action-download-artifact@v6 with: # 可選,GitHub 令牌,如果需要,具有`public_repo` 範圍的個人存取權杖# 必需,如果工件來自不同的地方repo # 必需,如果倉庫是私有的,則需要具有`repo` 範圍的個人存取令牌,或者在權限`action` 範圍設定為`read` 的作業中需要GitHub 令牌github_token: ${{ secrets.GITHUB_TOKEN}} # 可選,工作流程檔案名稱或ID # 如果未指定,將從run_id推斷(如果指定了run_id),或者將是當前工作流程工作流程:workflow_name.yml # 如果沒有設定工作流程並且workflow_search設為true,則最新的工作流程匹配# 將查找所有其他條件,而不是使用當前工作流程workflow_search: false # 可選,要搜尋的已完成工作流程的狀態或結論# 可以是工作流程結論之一: # “失敗”、“成功” , "neutral", "cancelled", "skipped", "timed_out", "action_required" # 或工作流程狀態: # "completed", "in_progress", "queued" # 使用空字串("") 忽略狀態或搜尋中的結論workflow_conclusion: success # 可選,將獲得head commit SHA pr: ${{github.event.pull_request.number}} # 可選,無需指定PR是否commit: $ {{github.event.pull_request .head.sha}} # 可選,將使用指定的分支。預設為所有分支branch: master # 可選,預設為所有類型event: push # 可選,將使用指定的工作流程執行# 當您的操作在工作流程執行事件中執行時使用${{ github.event. workflow_run.id }} # 並且想要從觸發工作流程下載run run_id: 1122334455 # 可選,工作流程的運行編號run_number: 34 # 可選,上傳的工件名稱, # 如果未指定,將下載所有工件# 並將它們解壓縮到各自的子目錄中# https://github.com com/actions/download-artifact#download-all-artifacts # 如果輸入name_is_regexp 為true,則被視為正規表示式# 將僅下載名稱與此正規表示式符合的工件# https://developer.mozilla.org/ en-US/docs/Web/JavaScript/Guide/Regular_expressions name: artifact_name # 可選,如果設定為true,名稱將被視為正規表示式name_is_regexp: true # 可選,提取工件的目錄,預設為目前目錄path: extract_here # 可選,預設為目前倉庫repo: ${{ github.repository }} # 可選,檢查工作流程運作是否有工件#然後將從上一個工作流程中獲取最後一個可用的工件# 預設false,只是嘗試從最後一個下載check_artifacts: false # 可選,搜尋最後一個工作流程運行,其儲存的工件名為「name」輸入# 默認false search_artifacts: false # 可選,選擇跳過解壓縮下載的工件 # default falseskip_unpack: false # 可選,選擇如果沒有找到工件如何退出操作# 可以是以下之一: # "fail", "warn", "ignore " # 預設失敗if_no_artifact_found: failed # 可選,搜尋時包含分叉對於工件 # 預設 false allowed_forks: true
此操作的v3
版本從node16
切換到node20
作為運行時。節點 20 需要glibc>=2.28
。如果您的自架運行器具有較舊的glibc
,請固定到v2
版本,但請注意它不會收到任何更新。