-
Notifications
You must be signed in to change notification settings - Fork 710
131 lines (124 loc) · 4.8 KB
/
unreal_ci.yml
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: unreal ci
on:
workflow_dispatch:
push:
paths:
- unreal/Puerts/Source/**
- unreal/Puerts/ThirdParty/**
- .github/workflows/unreal_ci.yml
pull_request:
paths:
- unreal/Puerts/Source/**
- unreal/Puerts/ThirdParty/**
- .github/workflows/unreal_ci.yml
env:
Engine: "https://github.com/chexiongsheng/Mini427/releases/download/v1.0.1/Mini427_new_xcode.tgz"
V8_URL: "https://github.com/puerts/backend-v8/releases/download/V8_9.4.146.24__241009/v8_bin_9.4.146.24.tgz"
QJS_URL: "https://github.com/puerts/backend-quickjs/releases/download/QJS_241030/qjs_v8_bin.tgz"
NODE_URL: "https://github.com/puerts/backend-nodejs/releases/download/NodeJS_16.16.0_221228/nodejs_bin_16.16.0.tgz"
jobs:
urls:
runs-on: ubuntu-latest
outputs:
v8: ${{ steps.set-matrix.outputs.v8 }}
qjs: ${{ steps.set-matrix.outputs.qjs }}
node: ${{ steps.set-matrix.outputs.node }}
steps:
- id: set-matrix
run: |
echo "v8=${{env.V8_URL}}" >> $GITHUB_OUTPUT
echo "qjs=${{env.QJS_URL}}" >> $GITHUB_OUTPUT
echo "node=${{env.NODE_URL}}" >> $GITHUB_OUTPUT
window_ci:
needs: urls
name: Windows
runs-on: windows-2019
strategy:
matrix:
cmdinfo:
- jslib_path: ${{ needs.urls.outputs.v8 }}
change_backend: ''
- jslib_path: ${{ needs.urls.outputs.qjs }}
change_backend: "sed -i 's/UseQuickjs = false/UseQuickjs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
- jslib_path: ${{ needs.urls.outputs.node }}
change_backend: "sed -i 's/UseNodejs = false/UseNodejs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
- name: Prepare
shell: msys2 {0}
run: |
wget -O jslib.tgz -q ${{ matrix.cmdinfo['jslib_path'] }}
tar xvfz jslib.tgz -C unreal/Puerts/ThirdParty
${{ matrix.cmdinfo['change_backend'] }}
wget -O temp.tgz -q ${{env.Engine}}
tar xfz temp.tgz
mkdir output
- name: Build
run: |
Engine\Build\BatchFiles\RunUAT.bat BuildPlugin -Plugin="unreal\Puerts\Puerts.uplugin" -Package="output" -Rocket -TargetPlatforms=Win64 -VS2019
android_ci:
needs: urls
name: Android
runs-on: windows-2019
strategy:
matrix:
cmdinfo:
- jslib_path: ${{ needs.urls.outputs.v8 }}
change_backend: ''
- jslib_path: ${{ needs.urls.outputs.qjs }}
change_backend: "sed -i 's/UseQuickjs = false/UseQuickjs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
- jslib_path: ${{ needs.urls.outputs.node }}
change_backend: "sed -i 's/UseNodejs = false/UseNodejs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
- name: Prepare
shell: msys2 {0}
run: |
wget -O jslib.tgz -q ${{ matrix.cmdinfo['jslib_path'] }}
tar xvfz jslib.tgz -C unreal/Puerts/ThirdParty
${{ matrix.cmdinfo['change_backend'] }}
wget -O temp.tgz -q ${{env.Engine}}
tar xfz temp.tgz
mkdir output
- name: SetupAndroid
run: |
Engine\Extras\Android\SetupAndroid.bat
chcp 65001 #set code page to utf-8
echo "NDKROOT=C:\Android\android-sdk\ndk\21.4.7075529" >> $env:GITHUB_ENV
- name: Build
run: |
Engine\Build\BatchFiles\RunUAT.bat BuildPlugin -Plugin="unreal\Puerts\Puerts.uplugin" -Package="output" -Rocket -TargetPlatforms=Android -VS2019
mac_ios_ci:
needs: urls
name: Mac and IOS
runs-on: macos-14
strategy:
matrix:
cmdinfo:
- jslib_path: ${{ needs.urls.outputs.v8 }}
change_backend: ''
- jslib_path: ${{ needs.urls.outputs.qjs }}
change_backend: "sed -i '' 's/UseQuickjs = false/UseQuickjs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
- jslib_path: ${{ needs.urls.outputs.node }}
change_backend: "sed -i '' 's/UseNodejs = false/UseNodejs = true/g' unreal/Puerts/Source/JsEnv/JsEnv.Build.cs"
steps:
- uses: actions/checkout@v3
- name: Prepare
shell: bash
run: |
wget -O jslib.tgz -q ${{ matrix.cmdinfo['jslib_path'] }}
tar xvfz jslib.tgz -C unreal/Puerts/ThirdParty
${{ matrix.cmdinfo['change_backend'] }}
wget -O temp.tgz -q ${{env.Engine}}
tar xfz temp.tgz
mkdir output
- name: Build
shell: bash
run: |
Engine/Build/BatchFiles/RunUAT.sh BuildPlugin -Plugin=unreal/Puerts/Puerts.uplugin -Package=output -Rocket -TargetPlatforms=Mac+IOS
#- name: Print Log
# shell: bash
# run: |
# cat "/Users/runner/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Editor-Mac-Development.txt"