diff --git a/.github/scripts/build-qemu.sh b/.github/scripts/build-qemu.sh new file mode 100755 index 0000000000..9b49b06643 --- /dev/null +++ b/.github/scripts/build-qemu.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +make -C BaseTools +source ./edksetup.sh + +export EDK2_PLATFORMS_PATH="$WORKSPACE/edk2-platforms" +export PACKAGES_PATH="$WORKSPACE:\ +$EDK2_PLATFORMS_PATH/Platform/Intel:\ +$EDK2_PLATFORMS_PATH/Silicon/Intel:\ +$EDK2_PLATFORMS_PATH/Features/Intel:\ +$EDK2_PLATFORMS_PATH/Features/Intel/Debugging:\ +$EDK2_PLATFORMS_PATH/Features/Intel/Network:\ +$EDK2_PLATFORMS_PATH/Features/Intel/OutOfBandManagement:\ +$EDK2_PLATFORMS_PATH/Features/Intel/PowerManagement:\ +$EDK2_PLATFORMS_PATH/Features/Intel/SystemInformation:\ +$EDK2_PLATFORMS_PATH/Features/Intel/UserInterface" + +build -a IA32 -a X64 -t GCC5 -b RELEASE -p OvmfPkg/OvmfPkgX64.dsc +build -a IA32 -a X64 -t GCC5 -b DEBUG -p OvmfPkg/OvmfPkgX64.dsc diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..e0fa7c6bfd --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,51 @@ +name: Check EDK2 QEMU Build + +on: + push: + branches: + - dasharo + pull_request: + branches: + - dasharo + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + with: + submodules: 'recursive' # Checkout submodules recursively. + + - name: Clone edk2-platforms Repository + run: | + git clone https://github.com/Dasharo/edk2-platforms.git && \ + cd edk2-platforms && \ + git checkout 3323ed481d35096fb6a7eae7b49f35eff00f86cf && \ + cd - + + - name: Build OVMF Firmware Image + run: | + docker run --rm -i -v $PWD:/home/coreboot/coreboot:rw \ + -u $(id -u):$(id -g) -w /home/coreboot/coreboot \ + coreboot/coreboot-sdk:2021-09-23_b0d87f753c \ + ./.github/scripts/build-qemu.sh + + - name: Check RELEASE build Artifacts + run: | + if [ -f "Build/OvmfX64/RELEASE_GCC5/FV/OVMF_CODE.fd" ] && [ -f "Build/OvmfX64/RELEASE_GCC5/FV/OVMF_VARS.fd" ]; then + echo "RELEASE build successful. OVMF firmware image files found." + else + echo "RELEASE build failed. OVMF firmware image files not found." + exit 1 + fi + + - name: Check DEBUG build Artifacts + run: | + if [ -f "Build/OvmfX64/DEBUG_GCC5/FV/OVMF_CODE.fd" ] && [ -f "Build/OvmfX64/DEBUG_GCC5/FV/OVMF_VARS.fd" ]; then + echo "DEBUG build successful. OVMF firmware image files found." + else + echo "DEBUG build failed. OVMF firmware image files not found." + exit 1 + fi