diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..11c49fdb0e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,59 @@ +name: Check EDK2 QEMU Build + +on: + push: + branches: + - dasharo + pull_request: + branches: + - dasharo + +jobs: + build: + runs-on: ubuntu-latest + + container: + image: coreboot/coreboot-sdk:2021-09-23_b0d87f753c + options: --user 1001:1001 + + 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: Setup Environment Variables + run: | + make -C BaseTools + source edksetup.sh + + - name: Update PACKAGES_PATH + run: | + 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" + + - name: Build OVMF Firmware Image (RELEASE) + run: | + build -a IA32 -a X64 -t GCC5 -b RELEASE -p OvmfPkg/OvmfPkgX64.dsc + + - name: Build OVMF Firmware Image (DEBUG) + run: | + build -a IA32 -a X64 -t GCC5 -b DEBUG -p OvmfPkg/OvmfPkgX64.dsc + + - name: Check Build Artifacts + run: | + if [ -f "Build/Ovmf/RELEASE_GCC5/FV/OVMF_CODE.fd" ] && [ -f "Build/Ovmf/RELEASE_GCC5/FV/OVMF_VARS.fd" ]; then + echo "RELEASE build successful. OVMF firmware image files found." + elif [ -f "Build/Ovmf/DEBUG_GCC5/FV/OVMF_CODE.fd" ] && [ -f "Build/Ovmf/DEBUG_GCC5/FV/OVMF_VARS.fd" ]; then + echo "DEBUG build successful. OVMF firmware image files found." + else + echo "Build failed. OVMF firmware image files not found." + exit 1 + fi