SBSA-ACS Daily Build #148
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: SBSA-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: | |
name: SBSA-ACS UEFI application build | |
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 https://github.com/tianocore/edk2 | |
cd edk2 | |
git checkout 836942fbadb629050b866a8052e6af755bcdf623 | |
cd .. | |
git clone https://github.com/tianocore/edk2-libc edk2/edk2-libc | |
- name: Checkout sbsa-acs repository | |
uses: actions/checkout@v4 | |
with: | |
path: 'edk2/ShellPkg/Application/sbsa-acs' | |
- name: Checkout bsa-acs repository | |
run: | | |
cd edk2 | |
git clone https://github.com/ARM-software/bsa-acs.git ShellPkg/Application/bsa-acs | |
- name: Apply edk2 sbsa patch | |
run: | | |
cd edk2 | |
git apply ShellPkg/Application/sbsa-acs/patches/edk2-sbsa.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 Sbsa.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/sbsa-acs/tools/scripts/acsbuild.sh | |
ls Build/Shell/DEBUG_GCC49/AARCH64/Sbsa.efi | |
- name: Save Sbsa.efi as an artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Sbsa.efi | |
path: edk2/Build/Shell/DEBUG_GCC49/AARCH64/Sbsa.efi | |
if-no-files-found: error | |
baremetal-compilation: | |
name: Baremetal CMake compilation check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sbsa-acs repository | |
uses: actions/checkout@v4 | |
with: | |
repository: ARM-software/sbsa-acs | |
- name: Git clone BSA-ACS repository | |
run: | | |
git clone https://github.com/ARM-software/bsa-acs.git ../bsa-acs | |
- name: Remove build folder if present in SBSA-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 SBSA 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 sbsa.bin as an artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Sbsa_baremetal_RDN2.bin | |
path: build/output/sbsa.bin | |
if-no-files-found: error |