-
Notifications
You must be signed in to change notification settings - Fork 64
84 lines (69 loc) · 2.21 KB
/
build-python-uefi-vs.yaml
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
# GitHub actions workflow to build python uefi using VS2019
#
# Copyright (c) 2023-2024, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
name: Build Python Interpreter for UEFI using VS2019
on: [push, pull_request]
jobs:
build:
runs-on: windows-2019
env:
NASM_PREFIX: "C:\\Program Files\\NASM\\"
defaults:
run:
shell: cmd
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install NASM
run: choco install nasm
- name: VSWhere
run: |
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
- name: Setup environment for Visual Studio 2019 Build Tools
run: |
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" x86
set
- 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
dir
edksetup.bat ForceRebuild
- name: Run srcprep.py
run: |
echo switching to AppPkg\Applications\Python\Python-3.6.8\
cd AppPkg\Applications\Python\Python-3.6.8\
dir
echo run srcprep.py file
python srcprep.py
- name: Build Python UEFI
run: |
set PACKAGES_PATH=%CD%\edk2;%CD%;
set EDK2_LIBC_PATH=%CD%
cd edk2
call edksetup.bat
build -t VS2019 -a X64 -b RELEASE -p %EDK2_LIBC_PATH%\AppPkg\AppPkg.dsc -D BUILD_PYTHON368
- name: Create Python UEFI package
run: |
set WORKSPACE=%CD%\edk2
set EDK2_LIBC_PATH=%CD%
dir
call AppPkg\Applications\Python\Python-3.6.8\create_python_pkg.bat VS2019 RELEASE X64 myUEFIPy
- name: List build artifacts
run: |
dir /S edk2\myUEFIPy
- name: Upload build output as artifact
uses: actions/upload-artifact@v4
with:
name: myUEFIPy-build-VS2019-output
path: edk2\myUEFIPy\**\*