Replace potentially dodgy native file system drivers instead of attem… #28
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: Linux (gcc with EDK2) build | |
on: | |
workflow_dispatch: | |
branches: [master] | |
push: | |
branches: [master] | |
tags: | |
- '**' | |
pull_request: | |
branches: [master] | |
env: | |
BUILD_TYPE: RELEASE | |
GCC5_ARM_PREFIX: arm-linux-gnueabi- | |
GCC5_AARCH64_PREFIX: aarch64-linux-gnu- | |
GCC5_RISCV64_PREFIX: riscv64-linux-gnu- | |
jobs: | |
Linux-EDK2-Build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- TARGET_TYPE: x64 | |
TARGET_ARCH: X64 | |
TARGET_PKGS: python3-distutils nasm uuid-dev | |
- TARGET_TYPE: ia32 | |
TARGET_ARCH: IA32 | |
TARGET_PKGS: gcc-multilib python3-distutils nasm uuid-dev | |
- TARGET_TYPE: aa64 | |
TARGET_ARCH: AARCH64 | |
TARGET_PKGS: gcc-aarch64-linux-gnu python3-distutils uuid-dev | |
- TARGET_TYPE: arm | |
TARGET_ARCH: ARM | |
TARGET_PKGS: gcc-arm-linux-gnueabi python3-distutils uuid-dev | |
- TARGET_TYPE: riscv64 | |
TARGET_ARCH: RISCV64 | |
TARGET_PKGS: gcc-riscv64-linux-gnu python3-distutils uuid-dev | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set version | |
id: set_version | |
# NB: The following only works if the shell is bash | |
run: echo "version=$(git describe --tags)" >> $GITHUB_OUTPUT | |
- name: Create version.h file | |
run: | | |
git update-index --skip-worktree version.h | |
echo '#define VERSION_STRING L"${{steps.set_version.outputs.version}}"' > version.h | |
- name: Set up Linux environment | |
run: sudo apt-get update && sudo apt-get -y --no-install-recommends install ${{matrix.TARGET_PKGS}} | |
- name: Set up EDK2 | |
run: | | |
git clone --recursive https://github.com/tianocore/edk2.git | |
make -C edk2/BaseTools | |
- name: Build UEFI bootloader | |
run: | | |
export WORKSPACE=$PWD | |
export PACKAGES_PATH=$WORKSPACE:$WORKSPACE/edk2 | |
source edk2/edksetup.sh | |
build -a ${{matrix.TARGET_ARCH}} -b ${BUILD_TYPE} -t GCC5 -p uefi-ntfs.dsc | |
mv $WORKSPACE/Build/${BUILD_TYPE}_GCC5/${{matrix.TARGET_ARCH}}/uefi-ntfs.efi $WORKSPACE/boot${{matrix.TARGET_TYPE}}.efi | |
- name: Display SHA-256 | |
run: sha256sum *.efi | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{matrix.TARGET_TYPE}} | |
path: ./*.efi | |
- name: Create release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
body: "**UEFI:NTFS ${{ steps.set_version.outputs.version }}**" | |
files: ./*.efi |