2020 EDK2_SHELL_VERSION_HEADER : edk2/MdePkg/Include/Protocol/Shell.h
2121 # Was edk2/ShellPkg/Include/Protocol/EfiShell.h prior to 2016.10.18
2222 # enum ShellVersion added on 2009.05.11
23- NASM_VERSION : 2.15.05
2423
2524jobs :
2625 build :
@@ -30,29 +29,20 @@ jobs:
3029 - name : Install toolchains
3130 run : |
3231 sudo apt-get update
33- sudo apt-get install gcc-11-multilib gcc-11-aarch64-linux-gnu gcc-11-arm-linux-gnueabi gcc-11-riscv64-linux-gnu genisoimage
34- sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-11 /usr/bin/aarch64-linux-gnu-gcc
35- sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-ar-11 /usr/bin/aarch64-linux-gnu-gcc-ar
36- sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-11 /usr/bin/arm-linux-gnueabi-gcc
37- sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-ar-11 /usr/bin/arm-linux-gnueabi-gcc-ar
38- sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-11 /usr/bin/riscv64-linux-gnu-gcc
39- sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-ar-11 /usr/bin/riscv64-linux-gnu-gcc-ar
40- sudo ln -s /usr/riscv64-linux-gnu/include/gnu/stubs-lp64d.h /usr/riscv64-linux-gnu/include/gnu/stubs-lp64.h
41- - name : Install nasm ${{ env.NASM_VERSION }}
42- # https://edk2.groups.io/g/devel/topic/89637409#87359
43- run : |
44- curl -O https://www.nasm.us/pub/nasm/releasebuilds/${{ env.NASM_VERSION }}/nasm-${{ env.NASM_VERSION }}.tar.bz2
45- tar -xjf nasm-${{ env.NASM_VERSION }}.tar.bz2
46- cd nasm-${{ env.NASM_VERSION }}
47- ./autogen.sh
48- ./configure --prefix=/usr/local/
49- make
50- sudo make install
32+ sudo apt-get -y --no-install-recommends install gcc-12-multilib gcc-12-aarch64-linux-gnu gcc-12-arm-linux-gnueabi gcc-12-riscv64-linux-gnu nasm genisoimage
33+ sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-12 /usr/bin/aarch64-linux-gnu-gcc
34+ sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-ar-12 /usr/bin/aarch64-linux-gnu-gcc-ar
35+ sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-12 /usr/bin/arm-linux-gnueabi-gcc
36+ sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-ar-12 /usr/bin/arm-linux-gnueabi-gcc-ar
37+ sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-12 /usr/bin/riscv64-linux-gnu-gcc
38+ sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-ar-12 /usr/bin/riscv64-linux-gnu-gcc-ar
39+
5140 - name : Checkout repository and submodules
52- uses : actions/checkout@v3
41+ uses : actions/checkout@v4
5342 with :
5443 fetch-depth : 0
5544 submodules : recursive
45+
5646 - name : Set version
5747 id : set_version
5848 run : |
6353 echo "shell_release=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
6454 echo "edk2_tag=$(git --git-dir edk2/.git describe --tags)" >> $GITHUB_OUTPUT
6555 echo "build_date=$(date '+%Y.%m.%d')" >> $GITHUB_OUTPUT
56+
6657 - name : Set up EDK2
6758 run : make -C edk2/BaseTools
59+
6860 - name : Build UEFI binaries
6961 run : |
7062 cd edk2
7466 build -a $ARCH -b $BUILD_TYPE -t ${{ env.COMPILER }} -p ShellPkg/ShellPkg.dsc --pcd gEfiShellPkgTokenSpaceGuid.PcdShellScreenLogCount=8 --pcd gEfiShellPkgTokenSpaceGuid.PcdShellSupplier=L"${{ steps.set_version.outputs.edk2_tag }} (https://github.com/pbatard/UEFI-Shell)"
7567 done
7668 done
69+
7770 - name : Create ISO filesystem structure
7871 run : |
7972 for BUILD_TYPE in ${{ env.BUILD_TYPES }}; do
@@ -111,29 +104,34 @@ jobs:
111104 printf " </supported_archs>\n" >> Version.xml
112105 printf "</release>\n" >> Version.xml
113106 done
107+
114108 - name : Generate ISO images
115109 run : |
116110 for BUILD_TYPE in ${{ env.BUILD_TYPES }}; do
117111 genisoimage -v -V "UEFI SHELL ${{ steps.set_version.outputs.shell_version }} ${{ steps.set_version.outputs.shell_release }} ($BUILD_TYPE)" -JR -o "UEFI-Shell-${{ steps.set_version.outputs.shell_version }}-${{ steps.set_version.outputs.shell_release }}-$BUILD_TYPE.iso" $BUILD_TYPE
118112 done
113+
119114 - name : Display SHA-256
120115 run : |
121116 for BUILD_TYPE in ${{ env.BUILD_TYPES }}; do
122117 sha256sum $BUILD_TYPE/efi/boot/*.efi
123118 done
124119 sha256sum *.iso
120+
125121 - name : Upload artifacts
126122 uses : actions/upload-artifact@v3
127123 with :
128124 name : ISOs
129125 path : ./*.iso
126+
130127 - name : Create release blurb
131128 run : |
132129 printf "**UEFI Shell v%s, release %s**\n\n" ${{ steps.set_version.outputs.shell_version }} ${{ steps.set_version.outputs.shell_release }} > body.txt
133130 printf "Built from [%s](https://github.com/tianocore/edk2/releases/tag/%s) and supporting:\n" ${{ steps.set_version.outputs.edk2_tag }} ${{ steps.set_version.outputs.edk2_tag }} >> body.txt
134131 for ARCH in ${{ env.ARCHS }}; do
135132 printf "* \`%s\`\n" $ARCH >> body.txt
136133 done
134+
137135 - name : Create release
138136 uses : softprops/action-gh-release@v1
139137 with :
0 commit comments