ipxe-legacy.usb
ipxeboot.tar.gz
- netboot:
- name: Netboot
- runs-on: ubuntu-latest
- needs:
- - bios
- - uefi
- - sbsign
- - shim
- container:
- image: ghcr.io/ipxe/ipxe-builder-utils
- env:
- biosarchs: >-
- i386:bin
- x86_64:bin-x86_64-pcbios
- biosfiles: >-
- ipxe.pxe
- ipxe-legacy.pxe
- undionly.kpxe
- efiarchs: >-
- arm32
- arm64
- i386
- loong64
- riscv32
- riscv64
- x86_64
- efifiles: >-
- ipxe.efi
- ipxe-legacy.efi
- snponly.efi
- sbarchs: >-
- arm64:aa64
- x86_64:x64
- sbfiles: >-
- ipxe.efi
- snponly.efi
- steps:
-
- - name: Download
- uses: actions/download-artifact@v7
- with:
- pattern: "{bin,bin-x86_64-pcbios,bin-*-efi,bin-*-efi-sb,shim}"
-
- - name: BIOS
- run: |
- for biosarch in ${{ env.biosarchs }} ; do
- IFS=: read -r arch bindir <<< "${biosarch}"
- mkdir -p ipxeboot/${arch}
- for file in ${{ env.biosfiles }} ; do
- cp ${bindir}/${file} ipxeboot/${arch}/${file}
- ln -sf x86_64/${file} ipxeboot/${file}
- done
- done
-
- - name: UEFI
- run: |
- for arch in ${{ env.efiarchs }} ; do
- mkdir -p ipxeboot/${arch}
- for file in ${{ env.efifiles }} ; do
- cp bin-${arch}-efi/${file} ipxeboot/${arch}/${file}
- ln -sf x86_64/${file} ipxeboot/${file}
- done
- done
-
- - name: UEFI SB
- run: |
- for sbarch in ${{ env.sbarchs }} ; do
- IFS=: read -r arch efiarch <<< ${sbarch}
- mkdir -p ipxeboot/${arch}-sb
- shimfile=shim${efiarch}.efi
- cp shim/${shimfile} ipxeboot/${arch}-sb/${shimfile}
- for file in ${{ env.sbfiles }} ; do
- shimlink=${file/.efi/-shim.efi}
- cp bin-${arch}-efi-sb/${file} ipxeboot/${arch}-sb/${file}
- ln -sf ${shimfile} ipxeboot/${arch}-sb/${shimlink}
- done
- done
- ln -sf x86_64-sb ipxeboot/sb
-
- - name: Archive
- run: |
- tar cvzf ipxeboot.tar.gz ipxeboot
-
- - name: Upload
- uses: actions/upload-artifact@v6
- with:
- name: netboot
- if-no-files-found: error
- path: |
- ipxeboot.tar.gz
-
version:
name: Version
runs-on: ubuntu-latest
- linux
- shim
- combine
- - netboot
- version
if: >-
github.ref == 'refs/heads/master' &&
- linux
- shim
- combine
- - netboot
- version
if: >-
startsWith ( github.ref, 'refs/tags/v' )
- name: Download
uses: actions/download-artifact@v7
with:
- pattern: "{bin-combi,netboot,version}"
+ pattern: "{bin-combi,version}"
- name: Tag check
run: |
gh release create "${{ github.ref_name }}" --verify-tag --draft \
--title "$(cat version/relname.txt)" \
--notes-file version/relnotes.md \
- bin-combi/ipxe.iso bin-combi/ipxe.usb netboot/ipxeboot.tar.gz
+ bin-combi/ipxe.iso bin-combi/ipxe.usb bin-combi/ipxeboot.tar.gz