forked from ARM-software/bsa-acs
-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (118 loc) · 4.96 KB
/
bsa-acs_daily_build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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 https://github.com/tianocore/edk2
cd edk2
git checkout 836942fbadb629050b866a8052e6af755bcdf623
cd ..
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 https://github.com/tianocore/edk2
cd edk2
git checkout 836942fbadb629050b866a8052e6af755bcdf623
cd ..
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