-
Notifications
You must be signed in to change notification settings - Fork 709
125 lines (118 loc) · 4.59 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
name: unreal ci
on:
workflow_dispatch:
push:
paths:
- unreal/Puerts/Source/**
- .github/workflows/unreal_ci.yml
pull_request:
paths:
- unreal/Puerts/Source/**
env:
Engine: "https://github.com/chexiongsheng/Mini427/releases/download/v1.0.0/Mini427_wami.tgz"
V8_URL: "https://github.com/puerts/backend-v8/releases/download/V8_8.4.371.19_0323/v8_bin_8.4.371.19.tgz"
QJS_URL: "https://github.com/puerts/backend-quickjs/releases/download/QJS_230804/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-11
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
sudo xcode-select -s /Applications/Xcode_12.5.1.app
- name: Build
shell: bash
run: |
Engine/Build/BatchFiles/RunUAT.sh BuildPlugin -Plugin=unreal/Puerts/Puerts.uplugin -Package=output -Rocket -TargetPlatforms=Mac+IOS