Действие, которое загружает и извлекает загруженные артефакты, связанные с данным рабочим процессом и фиксацией или другими критериями.
Предположим, у вас есть рабочий процесс с заданием, которое в конце загружает артефакт с помощью 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) или будет текущим рабочим процессом: workflow_name.yml # Если рабочий процесс не задан, а для параметра workflow_search установлено значение true, то будет искаться самый последний рабочий процесс, # соответствующий всем остальным критериям, вместо использования текущего рабочего процесса. workflow_search: false # Необязательно, статус или завершение завершенного рабочего процесса для поиска # Может быть одним из заключений рабочего процесса: # "сбой", "успех", "нейтральный", "отменено", "пропущено", "время ожидания" , "action_required" # Или статус рабочего процесса: # "completed", "in_progress", "queued" # Используйте пустую строку (""), чтобы игнорировать статус или завершение поиска 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 истинно # будут загружать только те артефакты с имя, соответствующее этому регулярному выражению # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions name: артефакт_имя # Необязательно, имя рассматривается как регулярное выражение, если установлено true name_is_regexp: true # Необязательно, каталог, в который следует извлечь артефакт(ы), по умолчанию используется текущий путь к каталогу: extract_here # Необязательно, по умолчанию используется текущий репозиторий: ${{ github.repository }} # Необязательно, проверьте запущенный рабочий процесс на наличие артефакта # затем получите последний доступный артефакт из предыдущего рабочего процесса # по умолчанию false, просто попробуйте загрузить из последнего check_artifacts: false # Необязательно, поиск для последнего запуска рабочего процесса, в котором сохранен артефакт с именем, указанным во вводе `name` # default false search_artifacts: false # Необязательно, выберите пропустить распаковку загруженных артефактов # default false Skip_unpack: false # Необязательно, выберите, как выйти из действия если артефакт не найден # может быть одним из: # "fail", "warn", "ignore" # по умолчанию error if_no_artifact_found: error # Необязательно, включите разветвления при поиске артефактов # по умолчанию false разрешить_форкс: правда Версия v3 этого действия переключена с node16 на node20 в качестве среды выполнения. Узел 20 требует glibc>=2.28 . Если у вашего автономного средства запуска установлена более старая glibc , прикрепите ее к выпуску v2 , но учтите, что он не будет получать никаких обновлений.