Действие, которое загружает и извлекает загруженные артефакты, связанные с данным рабочим процессом и фиксацией или другими критериями.
Предположим, у вас есть рабочий процесс с заданием, которое в конце загружает артефакт с помощью actions/upload-artifact
, и вы хотите загрузить этот артефакт в другом рабочем процессе, который запускается после первого. Официальные actions/download-artifact
этого не позволяют. Вот почему я решил создать этот экшен. Зная только имя рабочего процесса и SHA фиксации или другие сведения, вы можете загрузить ранее загруженный артефакт из другого рабочего процесса, связанного с этой фиксацией или другими критериями, и использовать его.
Если
commit
, илиpr
, илиbranch
, илиrun_id
илиworkflow_conclusion
не указаны, то будет загружен артефакт из самого последнего успешно завершенного запуска рабочего процесса.
Не указывайте pr
, commit
, branch
, run_id
вместе или workflow_conclusion
и run_id
вместе. Выберите только один из каждого или ни одного.
- name: Идентификатор артефакта загрузки: download-artifact использует: dawidd6/action-download-artifact@v6 с: # Необязательно, токен GitHub, личный токен доступа с областью действия `public_repo`, если необходимо # Требуется, если артефакт взят из другого источника repo # Обязательно, если репозиторий является частным, необходим личный токен доступа с областью `repo` или токен GitHub в задании, где область действия `action` установлена на `read` github_token: ${{secrets.GITHUB_TOKEN}} # Необязательно , имя файла или идентификатор рабочего процесса # Если не указано, будет выведено из run_id (если указан run_id) или будет текущим рабочим процессом: имя_рабочего_процесса.yml # Если рабочий процесс не установлен и для параметра workflow_search установлено значение true, то будет использоваться самый последний сопоставление рабочего процесса # вместо использования текущего рабочего процесса будут проверены все остальные критерии. workflow_search: false # Необязательно, статус или заключение завершенного рабочего процесса для поиска # Может быть одним из выводов рабочего процесса: # «неудача», «успех» , "нейтральный", "отменен", "пропущен", "timed_out", "action_required" # Или статус рабочего процесса: # "завершен", "in_progress", "в очереди" # Используйте пустую строку (""), чтобы игнорировать статус или вывод в поиске workflow_conclusion: Success # Необязательно, получим SHA головы фиксации pr: ${{github.event.pull_request.number}} # Необязательно, нет необходимости указывать, зафиксирован ли PR: ${{github.event.pull_request .head.sha}} # Необязательно, будет использоваться указанная ветка. По умолчанию для всех ветвей ветка: master # Необязательно, по умолчанию для всех типов event: push # Необязательно, будет использовать указанный запуск рабочего процесса # используйте ${{ github.event.workflow_run.id }}, когда ваше действие запускается в событии workflow_run # и хочет для загрузки из инициирующего рабочего процесса запустите run_id: 1122334455 # Необязательно, номер запуска из рабочего процесса run_number: 34 # Необязательно, имя загруженного артефакта, # загрузит все артефакты, если они не указаны # и извлекут их в соответствующие подкаталоги # https://github. com/actions/download-artifact#download-all-artifacts # рассматривается как регулярное выражение, если входное имя_is_regexp имеет значение true # будут загружаться только те артефакты, имя которых соответствует этому регулярному выражению # https://developer.mozilla.org/ en-US/docs/Web/JavaScript/Guide/Regular_expressions name: артефакт_имя # Необязательно, имя рассматривается как регулярное выражение, если установлено true name_is_regexp: true # Необязательно, каталог, в который можно извлечь артефакт(ы), по умолчанию — текущий каталог path: extract_here # Необязательно, по умолчанию используется текущий репозиторий repo: ${{ github.repository }} # Необязательно, проверьте выполняемый рабочий процесс на наличие артефакта # затем получите последний доступный артефакт из предыдущего рабочего процесса # по умолчанию false, просто попытаться загрузить с последнего. check_artifacts: false # Необязательно, найдите последний запущенный рабочий процесс, в котором сохранен артефакт с именем, указанным в `name` input # default false search_artifacts: false # Необязательно, выберите пропустить распаковку загруженного артефакта(ов) # default false Skip_unpack: false # Необязательно, выберите, как выйти из действия, если артефакт не найден # Может быть одним из: # "fail", "warn", "ignore" # по умолчанию error if_no_artifact_found: error # Необязательно, включите вилки при поиске для артефактов # по умолчанию falseallow_forks: true
Версия v3
этого действия переключена с node16
на node20
в качестве среды выполнения. Узел 20 требует glibc>=2.28
. Если у вашего автономного средства запуска установлена более старая glibc
, прикрепите ее к выпуску v2
, но учтите, что он не будет получать никаких обновлений.