REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4794

This commit adds github actions workflow to build python uefi
interpreter with gcc tool chain on Ubuntu Linux system.
The build-python-uefi-gcc.yaml file under .github/workflows
implements the build action for building the pyuefi interpreter with
gcc tool chain.

Cc: Rebecca Cran <rebe...@bsdio.com>
Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Jayaprakash N <n.jayaprak...@intel.com>
Signed-off-by: Jayaprakash N <n.jayaprak...@intel.com>
---
 .github/workflows/build-python-uefi-gcc.yaml | 71 ++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 .github/workflows/build-python-uefi-gcc.yaml

diff --git a/.github/workflows/build-python-uefi-gcc.yaml 
b/.github/workflows/build-python-uefi-gcc.yaml
new file mode 100644
index 0000000..5df6c5c
--- /dev/null
+++ b/.github/workflows/build-python-uefi-gcc.yaml
@@ -0,0 +1,71 @@
+# GitHub actions workflow to build python uefi using gcc
+#
+# Copyright (c) 2023-2024, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+name: Build Python Interpreter for UEFI with GCC
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v4
+
+    - name: Setup Python
+      uses: actions/setup-python@v5
+      with:
+        python-version: '3.x'
+
+    - name: Install dependencies
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y build-essential uuid-dev iasl git nasm 
python3-distutils dos2unix
+
+    - name: Clone EDK2
+      run: |
+        git clone https://github.com/tianocore/edk2.git
+        cd edk2
+        git submodule update --init
+
+    - name: Build EDK2 Base Tools
+      run: |
+        cd edk2
+        . edksetup.sh
+        make -C BaseTools
+
+    - name: Run srcprep.py
+      run: |
+        cd AppPkg/Applications/Python/Python-3.6.8/
+        python3 srcprep.py
+
+    - name: Build Python UEFI
+      run: |
+        export PACKAGES_PATH=`pwd`/edk2:`pwd`:
+        export EDK2_LIBC_PATH=`pwd`
+        cd edk2
+        . edksetup.sh
+        build -t GCC5 -a X64 -b RELEASE -p $EDK2_LIBC_PATH/AppPkg/AppPkg.dsc 
-D BUILD_PYTHON368
+
+    - name: Create PyUEFI package
+      run: |
+        export WORKSPACE=`pwd`/edk2
+        echo WORKSPACE is $WORKSPACE
+        export EDK2_LIBC_PATH=`pwd`
+        # run the shell script through dos2unix to update any CRLF to LF line 
ending format
+        dos2unix AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh
+        . AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh GCC5 
RELEASE X64 myUEFIPy
+
+    - name: List build artifacts
+      run: |
+        ls -R edk2/myUEFIPy
+
+    - name: Upload build output as artifact
+      uses: actions/upload-artifact@v4
+      with:
+        name: myUEFIPy-build-gcc-output
+        path: edk2/myUEFIPy/**/*
\ No newline at end of file
-- 
2.45.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119734): https://edk2.groups.io/g/devel/message/119734
Mute This Topic: https://groups.io/mt/106974577/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to