BSA-ACS Daily Build #159
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: BSA-ACS Daily Build | |
on: | |
schedule: | |
- cron: '30 17 * * *' # Runs everyday at 11 PM IST (17:30 UTC) | |
workflow_dispatch: # to dispatch from Github Actions | |
jobs: | |
build_acpi: | |
name: BSA-ACS UEFI build for ACPI target | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install -y git build-essential nasm | |
- name: Download edk2 and its submodules | |
run: | | |
git clone --recursive --branch edk2-stable202402 https://github.com/tianocore/edk2 | |
git clone https://github.com/tianocore/edk2-libc edk2/edk2-libc | |
- name: Checkout bsa-acs repository | |
uses: actions/checkout@v4 | |
with: | |
path: 'edk2/ShellPkg/Application/bsa-acs' | |
- name: Apply edk2 BSA patch for ACPI target | |
run: | | |
cd edk2 | |
git apply ShellPkg/Application/bsa-acs/patches/edk2-202208-bsa-acpi.diff | |
- name: Download Arm GCC cross-compiler | |
run: | | |
mkdir -p /opt/cross | |
cd /opt/cross | |
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz | |
tar -xf arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz | |
- name: Set up EDK2 environment and build Bsa.efi | |
run: | | |
cd edk2 | |
export GCC49_AARCH64_PREFIX=/opt/cross/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- | |
export PACKAGES_PATH=$PWD/edk2-libc | |
source edksetup.sh | |
make -C BaseTools/Source/C | |
source ShellPkg/Application/bsa-acs/tools/scripts/acsbuild.sh | |
- name: Save Bsa.efi as an artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Bsa_acpi_target.efi | |
path: edk2/Build/Shell/DEBUG_GCC49/AARCH64/Bsa.efi | |
if-no-files-found: error | |
build_dt: | |
name: BSA-ACS UEFI build for DT target | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install -y git build-essential nasm | |
- name: Download edk2 and its submodules | |
run: | | |
git clone --recursive --branch edk2-stable202208 https://github.com/tianocore/edk2 | |
git clone https://github.com/tianocore/edk2-libc edk2/edk2-libc | |
- name: Checkout bsa-acs repository | |
uses: actions/checkout@v4 | |
with: | |
path: 'edk2/ShellPkg/Application/bsa-acs' | |
- name: Apply edk2 BSA patch for DT target | |
run: | | |
cd edk2 | |
git apply ShellPkg/Application/bsa-acs/patches/edk2-202208-bsa-dt.diff | |
- name: Download Arm GCC cross-compiler | |
run: | | |
mkdir -p /opt/cross | |
cd /opt/cross | |
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz | |
tar -xf arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz | |
- name: Set up EDK2 environment and build Bsa.efi | |
run: | | |
cd edk2 | |
export GCC49_AARCH64_PREFIX=/opt/cross/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- | |
export PACKAGES_PATH=$PWD/edk2-libc | |
source edksetup.sh | |
make -C BaseTools/Source/C | |
source ShellPkg/Application/bsa-acs/tools/scripts/acsbuild.sh | |
- name: Save Bsa.efi as an artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Bsa_dt_target.efi | |
path: edk2/Build/Shell/DEBUG_GCC49/AARCH64/Bsa.efi | |
if-no-files-found: error | |
baremetal-compilation: | |
name: Baremetal CMake compilation check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout bsa-acs repository | |
uses: actions/checkout@v4 | |
with: | |
repository: ARM-software/bsa-acs | |
- name: Remove build folder if present in BSA-ACS | |
run: | | |
rm -rf build | |
- name: Download Arm GCC cross-compiler | |
run: | | |
mkdir -p /opt/cross | |
cd /opt/cross | |
wget https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-elf.tar.xz | |
tar -xf arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-elf.tar.xz | |
- name: Compile BSA Baremetal ACS for RDN2 Platform | |
run: | | |
export CROSS_COMPILE=/opt/cross/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-elf/bin/aarch64-none-elf- | |
mkdir build | |
cd build | |
cmake ../ -G "Unix Makefiles" -DCROSS_COMPILE=$CROSS_COMPILE -DTARGET=RDN2 | |
make | |
- name: Save Baremetel bsa.bin as an artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Bsa_baremetal_RDN2.bin | |
path: build/output/bsa.bin | |
if-no-files-found: error |