name: build ipxe on: schedule: - cron: '0 2 * * SUN' jobs: make-ipxe: name: make ipxe runs-on: ubuntu-latest container: docker.io/alpine:edge steps: - name: install dependencies run: | apk add git make binutils mtools perl xz-dev libc-dev clang nodejs - name: checkout ipxe repo run: | git clone https://github.com/ipxe/ipxe ipxe - name: checkout provisioner repo uses: actions/checkout@v4 with: fetch-depth: 0 path: self - name: build ipxe run: | self_root="${GITHUB_WORKSPACE}/self" ipxe_root="${GITHUB_WORKSPACE}/ipxe" cp ${self_root}/ipxe/netboot.ipxe ${ipxe_root}/src cd ${ipxe_root}/src make -j$(nproc) bin-i386-pcbios/undionly.kpxe EMBED=netboot.ipxe make -j$(nproc) bin-x86_64-efi/ipxe.efi EMBED=netboot.ipxe mkdir artifact mv bin-i386-pcbios/undionly.kpxe artifact/undionly.kpxe mv bin-x86_64-efi/ipxe.efi artifact/ipxe64.efi - name: update Nightly Release uses: akkuman/gitea-release-action@v1 with: name: ipxe prerelease: true tag_name: ipxe-nightly files: |- ${{ github.workspace }}/ipxe/src/artifact/*