-
Notifications
You must be signed in to change notification settings - Fork 9
89 lines (78 loc) · 2.65 KB
/
build.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
name: Build Artifacts
on:
workflow_dispatch:
inputs:
target:
type: choice
description: "Target to build"
required: true
options:
- "apple"
- "android"
- "wasm"
- "all"
commitSHA:
description: "Commit SHA (leave blank for default branch)"
required: false
machine:
description: "Machine to run on, e.g. macos-12, ubuntu-20.04"
required: false
default: "macos-12"
appleXcodeVersion:
description: "Apple Xcode version, e.g. Xcode_13.3.1.app"
required: false
default: "Xcode_13.3.1.app"
appleMacosxSdk:
description: "Apple MacOSX SDK, e.g. MacOSX12.3"
required: false
default: "MacOSX12.3"
jobs:
build:
runs-on: ${{ github.event.inputs.machine }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.commitSHA || github.ref }}
- uses: Homebrew/actions/setup-homebrew@master
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "13.3.1"
- uses: ningenMe/setup-rustup@v1.1.0
- name: Install Make
run: brew install make
- name: Build Setup
run: make mac-setup
- name: Build Android
if: github.event.inputs.target == 'android' || github.event.inputs.target == 'all'
env:
APPLE_XCODE_APP_NAME: ${{ github.event.inputs.appleXcodeVersion }}
APPLE_MACOSX_SDK: ${{ github.event.inputs.appleMacosxSdk }}
run: make android
- name: Upload Android Artifacts
uses: actions/upload-artifact@v3
with:
name: android
path: ./release/android/*.tar.gz
- name: Build Apple
if: github.event.inputs.target == 'apple' || github.event.inputs.target == 'all'
env:
APPLE_XCODE_APP_NAME: ${{ github.event.inputs.appleXcodeVersion }}
APPLE_MACOSX_SDK: ${{ github.event.inputs.appleMacosxSdk }}
run: rm -f /usr/local/lib/libjpeg* ; make apple
- name: Upload Apple Artifacts
uses: actions/upload-artifact@v3
with:
name: apple
path: ./release/apple/*.tar.gz
- name: Build WASM
if: github.event.inputs.target == 'wasm' || github.event.inputs.target == 'all'
env:
APPLE_XCODE_APP_NAME: ${{ github.event.inputs.appleXcodeVersion }}
APPLE_MACOSX_SDK: ${{ github.event.inputs.appleMacosxSdk }}
run: make wasm
- name: Upload WASM Artifacts
uses: actions/upload-artifact@v3
with:
name: wasm
path: ./release/wasm/*.tar.gz