-
Notifications
You must be signed in to change notification settings - Fork 0
88 lines (65 loc) · 3.25 KB
/
nightly.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
name: Nightly EDK2 OVMF Build
on:
schedule:
- cron: '0 0 * * *'
jobs:
nightly:
name: Nightly EDK2 OVMF Build
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- name: Install dependencies
run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel git wget python acpica nasm
- name: Checkout code
uses: actions/checkout@v4
- name: Git config
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Rebuild
run: |
set -ex
GCC_VERSION=14.2.0
for i in aarch64 loongarch64 riscv64; do
wget https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/$GCC_VERSION/x86_64-gcc-$GCC_VERSION-nolibc-$i-linux.tar.gz
tar -xf x86_64-gcc-$GCC_VERSION-nolibc-$i-linux.tar.gz
export PATH="$(pwd -P)"/gcc-$GCC_VERSION-nolibc/$i-linux/bin:"$PATH"
done
git clone --recursive --depth=1 https://github.com/tianocore/edk2.git
( cd edk2 && patch -p1 <../ovmf.patch )
export PACKAGES_PATH="$(pwd -P)"/edk2
export GCC5_AARCH64_PREFIX=aarch64-linux-
export GCC5_LOONGARCH64_PREFIX=loongarch64-linux-
export GCC5_RISCV64_PREFIX=riscv64-linux-
set +e
. edk2/edksetup.sh
set -e
make -C edk2/BaseTools
build -b RELEASE -t GCC5 -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc
build -b RELEASE -t GCC5 -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc -D FD_SIZE_2MB
build -b RELEASE -t GCC5 -a LOONGARCH64 -p OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
build -b RELEASE -t GCC5 -a RISCV64 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
build -b RELEASE -t GCC5 -a X64 -p OvmfPkg/OvmfPkgX64.dsc -D FD_SIZE_2MB
mkdir -p output
cp Build/ArmVirtQemu-AARCH64/RELEASE_GCC5/FV/QEMU_EFI.fd output/ovmf-code-aarch64.fd
cp Build/ArmVirtQemu-AARCH64/RELEASE_GCC5/FV/QEMU_VARS.fd output/ovmf-vars-aarch64.fd
cp Build/OvmfIa32/RELEASE_GCC5/FV/OVMF_CODE.fd output/ovmf-code-ia32.fd
cp Build/OvmfIa32/RELEASE_GCC5/FV/OVMF_VARS.fd output/ovmf-vars-ia32.fd
cp Build/LoongArchVirtQemu/RELEASE_GCC5/FV/QEMU_EFI.fd output/ovmf-code-loongarch64.fd
cp Build/LoongArchVirtQemu/RELEASE_GCC5/FV/QEMU_VARS.fd output/ovmf-vars-loongarch64.fd
cp Build/RiscVVirtQemu/RELEASE_GCC5/FV/RISCV_VIRT_CODE.fd output/ovmf-code-riscv64.fd
cp Build/RiscVVirtQemu/RELEASE_GCC5/FV/RISCV_VIRT_VARS.fd output/ovmf-vars-riscv64.fd
cp Build/OvmfX64/RELEASE_GCC5/FV/OVMF_CODE.fd output/ovmf-code-x86_64.fd
cp Build/OvmfX64/RELEASE_GCC5/FV/OVMF_VARS.fd output/ovmf-vars-x86_64.fd
- name: Set TAG_DATE variable
run: echo "TAG_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Tag new nightly release
run: git tag nightly-$TAG_DATE && git push --tags
- name: Create nightly release
uses: softprops/action-gh-release@v2
with:
name: Nightly Build ${{ env.TAG_DATE }}
tag_name: nightly-${{ env.TAG_DATE }}
body: Images of an up to date EDK2 OVMF nightly build.
files: |
output/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}