Comments (3)
name: Build
on: push
jobs:
cache:
name: Cache
runs-on: ubuntu-22.04
steps:
- name: Cache permissions
run: |
sudo chown $(id -un) /var/cache/apt/archives
- name: Cache packages
uses: actions/cache@v3
with:
path: /var/cache/apt/archives/*.deb
key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
apt-cache-
- name: Download packages
run: |
sudo apt update
sudo apt install -y -d -o Acquire::Retries=50 \
mtools syslinux isolinux \
libc6-dev-i386 valgrind \
gcc-arm-none-eabi gcc-aarch64-linux-gnu
x86:
name: x86
runs-on: ubuntu-22.04
needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cache permissions
run: |
sudo chown $(id -un) /var/cache/apt/archives
- name: Cache packages
uses: actions/cache/restore@v3
with:
path: /var/cache/apt/archives/*.deb
key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y -o Acquire::Retries=50 \
mtools syslinux isolinux \
libc6-dev-i386 valgrind \
libgcc-s1:i386 libc6-dbg:i386
- name: Build (BIOS)
run: |
make -j 4 -C src
- name: Build (Everything)
run: |
make -j 4 -C src everything
- name: Test
run: |
valgrind ./src/bin-i386-linux/tests.linux
valgrind ./src/bin-x86_64-linux/tests.linux
- name: upload binary
uses: actions/upload-artifact@v3
with:
name: x86-binary
path: ./src/bin-*/*
arm32:
name: ARM32
runs-on: ubuntu-22.04
needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cache permissions
run: |
sudo chown $(id -un) /var/cache/apt/archives
- name: Cache packages
uses: actions/cache/restore@v3
with:
path: /var/cache/apt/archives/*.deb
key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo apt update
sudo apt install -y -o Acquire::Retries=50 \
mtools syslinux isolinux gcc-arm-none-eabi
- name: Build
run: |
make -j 4 -C src CROSS=arm-none-eabi- \
bin-arm32-efi/intel.efi \
bin-arm32-efi/intel.usb \
bin-arm32-efi/intel.iso
- name: upload binary
uses: actions/upload-artifact@v3
with:
name: arm32-binary
path: ./src/bin-arm32-efi/*
arm64:
name: ARM64
runs-on: ubuntu-22.04
needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cache permissions
run: |
sudo chown $(id -un) /var/cache/apt/archives
- name: Cache packages
uses: actions/cache/restore@v3
with:
path: /var/cache/apt/archives/*.deb
key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo apt update
sudo apt install -y -o Acquire::Retries=50 \
mtools syslinux isolinux gcc-aarch64-linux-gnu
- name: Build
run: |
make -j 4 -C src CROSS=aarch64-linux-gnu- \
bin-arm64-efi/ipxe.efi \
bin-arm64-efi/ipxe.usb \
bin-arm64-efi/ipxe.iso
- name: upload binary
uses: actions/upload-artifact@v3
with:
name: arm64-binary
path: ./src/bin-arm64-efi/*
from ipxe.
Considered crating a PR?
Official builds are available at boot.ipxe.org.
from ipxe.
i am too shy to contrib this, maybe i can offer my own qemu script to test efi and usb raw / iso image,and github's workflow leaks amd64 part
lbuild.yml](https://github.com/ipxe/ipxe/blob/master/.github/workflows/build.yml)
from ipxe.
Related Issues (20)
- Feature request: substring syntax HOT 1
- Missing document `linktype`.
- Intel 82599 NIC fail to boot iPXE chainloading
- Booting Linux with long kernel arguments fails HOT 2
- Mellanox nic use commit 4bd064d ipxe.efi will happen DHCPDISCOVER failed,but use the latest master ipxe.efi will work ok HOT 2
- Windows pre-boot screen splits to multiple displays after EFI Sanboot
- sanboot selects removable bootable media in EFI Systems/Feature request to skip/filter removable media in sanboot
- Menus with Items Display Off over COM ports HOT 6
- Support OCSP Stapling HOT 1
- using "console --picture ..." without imgfree aferward , causes Initramfs unpacking failed: invalid magic at kernel start
- II followed your README file to compile it in the Ubuntu system, but it encountered an error. HOT 1
- dhcp + multi interfaces problem HOT 8
- Stopping when using the RTL8111H network card HOT 2
- realtek 8168/8169 doesn't work HOT 1
- TLS not supported on various domains HOT 2
- Build failure with gcc-14: error: type defaults to ‘int’ in declaration of ‘FILE_LICENCE’ [-Wimplicit-int] HOT 8
- How to boot windows (iscsi) ? HOT 1
- GCC14 issues HOT 7
- How to sign ROM for secure boot ?
- Compilation issue HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipxe.