aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2021-02-03 16:06:35 +0000
committerMichael Brown <mcb30@ipxe.org>2021-02-04 16:41:55 +0000
commiteeca29a1e0e982870c00e82b2d2f19f379e675ce (patch)
treedf81e8c2e22a9c4fd20856596d4c6e8db7f4f227 /.github/workflows
parente8393c3728bf7073d033410373ef6781549c7c3e (diff)
downloadipxe-eeca29a1e0e982870c00e82b2d2f19f379e675ce.zip
ipxe-eeca29a1e0e982870c00e82b2d2f19f379e675ce.tar.gz
ipxe-eeca29a1e0e982870c00e82b2d2f19f379e675ce.tar.bz2
[ci] Add GitHub action for build testing
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..d890dfb
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,69 @@
+name: Build
+
+on: push
+
+jobs:
+
+ x86:
+ name: x86
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Install packages
+ run: |
+ sudo apt update
+ sudo apt install -y -o Acquire::Retries=50 \
+ mtools syslinux isolinux libc6-dev-i386 valgrind
+ - 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
+
+ arm32:
+ name: ARM32
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - 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
+
+ arm64:
+ name: ARM64
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - 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