Skip to content

Add missing matrix options to workflow #19

Add missing matrix options to workflow

Add missing matrix options to workflow #19

Workflow file for this run

name: patch-boot
on:
push:
workflow_dispatch:
jobs:
build-uefi-secureboot:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: map220v/MU-sm8150pkg
ref: nabu-secureboot
path: MU
- name: Build UEFI (SB)
run: |
cd MU
docker build -t mu:v1 .
docker run -v $(pwd):/build/ mu:v1 ./build_uefi.py -d xiaomi-nabu
find . -type f -name 'SM8150_EFI.fd' -exec cp '{}' ../SM8150_EFI_SB.fd ';'
# TODO: Find a way to build this same branch with secure boot disabled
#sudo git reset --hard && sudo git clean -fdx
#sed -i 's/SECURE_BOOT_ENABLE .*/SECURE_BOOT_ENABLE = 0/g' Platforms/SurfaceDuo1Pkg/SurfaceDuo1.dsc
#sed -i 's/DEFAULT_KEYS .*/DEFAULT_KEYS = FALSE/g' Platforms/SurfaceDuo1Pkg/SurfaceDuo1.dsc
#docker run -v $(pwd):/build/ mu:v1 ./build_uefi.py -d xiaomi-nabu
#find . -type f -name 'SM8150_EFI.fd' -exec cp '{}' ../SM8150_EFI_NOSB.fd ';'
- uses: actions/upload-artifact@v4
with:
name: SM8150_EFI_SB.fd
path: |
SM8150_EFI_SB.fd
build-uefi-no-secureboot:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: woa-msmnile/msmnilePkg
ref: main
path: MU
- name: Build UEFI (NOSB)
run: |
cd MU
docker build -t mu:v1 .
docker run -v $(pwd):/build/ mu:v1 ./build_uefi.py -d xiaomi-nabu
find . -type f -name 'SM8150_EFI.fd' -exec cp '{}' ../SM8150_EFI_NOSB.fd ';'
- uses: actions/upload-artifact@v4
with:
name: SM8150_EFI_NOSB.fd
path: |
SM8150_EFI_NOSB.fd
patch:
needs: [build-uefi-secureboot,build-uefi-no-secureboot]
strategy:
matrix:
uefi-type: [SB, NOSB]
name: [Xiaomi_HyperOS_Global_1.0.5.0, Xiaomi_HyperOS_Europe_1.0.5.0]
include:
- name: Xiaomi_HyperOS_Global_1.0.5.0
url: https://cdnorg.d.miui.com/OS1.0.5.0.TKXMIXM/nabu_global_images_OS1.0.5.0.TKXMIXM_20240826.0000.00_13.0_global_e32cdbaf9f.tgz
- name: Xiaomi_HyperOS_Europe_1.0.5.0
url: https://cdnorg.d.miui.com/OS1.0.5.0.TKXEUXM/nabu_eea_global_images_OS1.0.5.0.TKXEUXM_20240827.0000.00_13.0_eea_985fdcfd4e.tgz
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: SM8150_EFI_${{ matrix.uefi-type }}.fd
- name: Setup tools
run: |
wget -nv "https://github.com/WOA-Project/mu_andromeda_platforms/raw/main/ImageResources/mkbootimg.py"
wget -nv "https://github.com/WOA-Project/SurfaceDuo-Guides/raw/main/Files/unpack_bootimg.py"
wget -nv "https://github.com/woa-msmnile/DualBootKernelPatcher/releases/download/v1.2.0.0/DualBootKernelPatcher-Linux-x64.zip"
unzip DualBootKernelPatcher-Linux-x64.zip
wget -nv "https://github.com/woa-msmnile/DualBootKernelPatcher/releases/download/v1.2.0.0/Shellcodes.zip"
unzip Shellcodes.zip
wget -nv "https://github.com/woa-msmnile/DualBootKernelPatcher/releases/download/v1.2.0.0/Config.zip"
unzip Config.zip
chmod +x DualBootKernelPatcher
- name: Download & patch boot image
run: |
mkdir -p ota
pushd ota
wget -nv ${{ matrix.url }} -O ota.tgz
tar zxvf ota.tgz --wildcards --no-anchored 'boot.img'
find . -type f -name 'boot.img' -exec cp '{}' ../ ';'
popd
rm -rf ota
python3 ./unpack_bootimg.py --boot_img ./boot.img --format=mkbootimg | tee mkbootimg_args
./DualBootKernelPatcher out/kernel SM8150_EFI_${{ matrix.uefi-type }}.fd out/PatchedKernel Config/DualBoot.Sm8150.cfg ShellCode.Nabu.bin
sed -i 's/out\/kernel/out\/PatchedKernel/g' mkbootimg_args
python3 ./mkbootimg.py -o boot_patched.img $(cat mkbootimg_args)
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}_${{ matrix.uefi-type }}
path: boot_patched.img