การดำเนินการที่ดาวน์โหลดและแยกอาร์ติแฟกต์ที่อัปโหลดซึ่งเกี่ยวข้องกับเวิร์กโฟลว์ที่กำหนดและคอมมิตหรือเกณฑ์อื่นๆ
สมมติว่าคุณมีเวิร์กโฟลว์ที่มีงานที่ในตอนท้ายอัปโหลดอาร์ติแฟกต์โดยใช้ actions/upload-artifact
และคุณต้องการดาวน์โหลดอาร์ติแฟกต์นี้ในเวิร์กโฟลว์อื่นที่รันหลังจากเวิร์กโฟลว์แรก actions/download-artifact
ไม่อนุญาตสิ่งนี้ นั่นเป็นเหตุผลที่ฉันตัดสินใจสร้างการกระทำนี้ เมื่อทราบเพียงชื่อเวิร์กโฟลว์และคอมมิต SHA หรือรายละเอียดอื่น ๆ คุณสามารถดาวน์โหลดอาร์ติแฟกต์ที่อัปโหลดก่อนหน้านี้จากเวิร์กโฟลว์อื่นที่เกี่ยวข้องกับคอมมิตนั้นหรือเกณฑ์อื่น ๆ และใช้งานได้
หากไม่ได้ระบุ
commit
หรือpr
หรือbranch
หรือrun_id
หรือworkflow_conclusion
ระบบจะดาวน์โหลดส่วนจากการรันเวิร์กโฟลว์ที่เสร็จสมบูรณ์ล่าสุด
อย่าระบุ pr
, commit
, branch
, run_id
พร้อมกันหรือ workflow_conclusion
และ run_id
พร้อมกัน เลือกเพียงหนึ่งอย่างหรือไม่มีเลย
- ชื่อ: ดาวน์โหลด artifact id: download-artifact ใช้: dawidd6/action-download-artifact@v6 พร้อมด้วย: # ตัวเลือกเสริม, โทเค็น GitHub, โทเค็นการเข้าถึงส่วนบุคคลที่มีขอบเขต `public_repo` หากจำเป็น # จำเป็น ถ้าสิ่งประดิษฐ์มาจากที่อื่น repo # จำเป็น หาก repo เป็นส่วนตัว โทเค็นการเข้าถึงส่วนบุคคลที่มีขอบเขต `repo` เป็นสิ่งจำเป็นหรือโทเค็น GitHub ในงานที่ได้รับอนุญาต `action` ขอบเขตที่ตั้งค่าเป็น `read` github_token: ${{secrets.GITHUB_TOKEN}} # ตัวเลือก ชื่อไฟล์เวิร์กโฟลว์หรือ ID # หากไม่ได้ระบุ จะอนุมานจาก run_id (หากระบุ run_id) หรือจะเป็นเวิร์กโฟลว์ปัจจุบัน เวิร์กโฟลว์: workflow_name.yml # หากไม่มีการตั้งค่าเวิร์กโฟลว์และ workflow_search ตั้งค่าเป็นจริง เวิร์กโฟลว์ล่าสุดที่ตรงกับ # เกณฑ์อื่นๆ ทั้งหมดจะถูกค้นหาแทนการใช้ เวิร์กโฟลว์ปัจจุบัน workflow_search: false # ตัวเลือก สถานะหรือข้อสรุปของเวิร์กโฟลว์ที่เสร็จสมบูรณ์เพื่อค้นหา # สามารถเป็นหนึ่งในข้อสรุปเวิร์กโฟลว์: # "ความล้มเหลว", "ความสำเร็จ", "เป็นกลาง", "ยกเลิก", "ข้าม", " timed_out", "action_required" # หรือสถานะเวิร์กโฟลว์: # "เสร็จสมบูรณ์", "in_progress", "อยู่ในคิว" # ใช้สตริงว่าง ("") เพื่อละเว้นสถานะหรือข้อสรุปใน workflow_conclusion การค้นหา: ความสำเร็จ # ไม่บังคับ จะได้รับ head commit SHA pr: ${{github.event.pull_request.number}} # ไม่บังคับ ไม่จำเป็นต้องระบุว่า PR ถูกคอมมิตหรือไม่: ${{github.event.pull_request.head. sha}} # ไม่บังคับ จะใช้สาขาที่ระบุ ค่าเริ่มต้นสำหรับสาขาทั้งหมด: master # ตัวเลือก, ค่าเริ่มต้นสำหรับทุกประเภท เหตุการณ์: push # ทางเลือก, จะใช้เวิร์กโฟลว์ที่ระบุ วิ่ง # ใช้ ${{ github.event.workflow_run.id }} เมื่อการกระทำของคุณรันในเหตุการณ์ workflow_run # และต้องการ เพื่อดาวน์โหลดจากเวิร์กโฟลว์ที่เรียกใช้ run_id: 1122334455 # ตัวเลือก หมายเลขรันจากเวิร์กโฟลว์ run_number: 34 # ตัวเลือก สิ่งประดิษฐ์ที่อัปโหลด name, # จะดาวน์โหลดสิ่งประดิษฐ์ทั้งหมดหากไม่ได้ระบุ # และแตกไฟล์เหล่านั้นลงในไดเร็กทอรีย่อยที่เกี่ยวข้อง # https://github.com/actions/download-artifact#download-all-artifacts # จะถือเป็นนิพจน์ทั่วไปหากอินพุต name_is_regexp เป็นจริง # จะดาวน์โหลดเฉพาะสิ่งประดิษฐ์ที่มีชื่อตรงกับนิพจน์ทั่วไปนี้ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions ชื่อ: artifact_name # ไม่บังคับ ชื่อจะถือเป็นนิพจน์ทั่วไปหากตั้งค่าจริง name_is_regexp: true # ไม่บังคับ ไดเร็กทอรีที่จะแยกสิ่งประดิษฐ์ ค่าดีฟอลต์เป็นพาธไดเร็กทอรีปัจจุบัน: extract_here # ไม่บังคับ ค่าดีฟอลต์เป็นค่าดีฟอลต์ของ repo repo ปัจจุบัน: $ {{ github.repository }} # ไม่บังคับ ตรวจสอบเวิร์กโฟลว์ที่ทำงานเพื่อดูว่ามีอาร์ติแฟกต์ # หรือไม่ จากนั้นจะได้รับอาร์ติแฟกต์ล่าสุดที่มีอยู่จากเวิร์กโฟลว์ก่อนหน้า # ค่าเริ่มต้น เท็จ เพียงลองดาวน์โหลดจากอันสุดท้าย check_artifacts: false # ทางเลือก ค้นหาเวิร์กโฟลว์ล่าสุดที่จัดเก็บสิ่งประดิษฐ์ที่มีชื่ออยู่ใน `ชื่อ` อินพุต # เริ่มต้น false search_artifacts: false # ทางเลือก เลือกที่จะข้ามการคลายแพ็กสิ่งประดิษฐ์ที่ดาวน์โหลด ( s) # ค่าเริ่มต้น false skik_unpack: false # ตัวเลือก เลือกวิธีออกจากการดำเนินการหากไม่พบสิ่งประดิษฐ์ # สามารถเป็นหนึ่งใน: # "ล้มเหลว", "เตือน", "ละเว้น" # ค่าเริ่มต้นล้มเหลว if_no_artifact_found: ล้มเหลว # ทางเลือก รวมส้อมเมื่อค้นหาสิ่งประดิษฐ์ # ค่าเริ่มต้นเท็จ Allow_forks: จริง
การดำเนินการนี้รุ่น v3
เปลี่ยนจาก node16
เป็น node20
เป็นรันไทม์ โหนด 20 ต้องใช้ glibc>=2.28
หากนักวิ่งที่คุณโฮสต์เองมี glibc
รุ่นเก่า ให้ปักหมุดไปที่ v2
แต่โปรดทราบว่านักวิ่งจะไม่ได้รับการอัปเดตใดๆ