-
Notifications
You must be signed in to change notification settings - Fork 7
149 lines (147 loc) · 4.33 KB
/
build-natives.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: Build ihmc-pub-sub natives
on:
workflow_dispatch:
jobs:
build-linux:
runs-on: [ubuntu-20.04]
strategy:
matrix:
platform: [x86_64, arm64]
max-parallel: 1
steps:
- uses: actions/checkout@v4
- name: Debug
run: |
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
- name: Pull repo
run: |
git reset --hard
git pull
- name: Install dependencies
run: |
sudo apt update
sudo apt install build-essential g++ gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu g++-aarch64-linux-gnu cmake git swig -y
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Check Java/Gradle versions
run: |
java --version
gradle --version
- name: Compile native library (arm64)
if: matrix.platform == 'arm64'
run: |
LINUX_CROSS_COMPILE_ARM=1 bash cppbuild.bash
- name: Compile native library (x86_64)
if: matrix.platform == 'x86_64'
run: |
bash cppbuild.bash
- name: Commit generated java and native libraries
uses: EndBug/add-and-commit@v9
with:
add: '*.java *.so *.so.*' # Only commit generated java from Linux
author_name: ihmc-rosie
author_email: [email protected]
message: 'Rebuild natives for Linux'
push: true
build-windows:
runs-on: [windows-2019]
needs: [build-linux]
steps:
- uses: actions/checkout@v4
- name: Pull repo
run: |
git reset --hard
git pull
- uses: ilammy/msvc-dev-cmd@v1
with:
vsversion: 2019
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Check Java/Gradle versions
run: |
java --version
gradle --version
- name: Compile native library
run: |
bash.exe cppbuild.bash
- name: Commit native libraries
uses: EndBug/add-and-commit@v9
with:
add: '*.dll' # Only commit generated java from Linux
author_name: ihmc-rosie
author_email: [email protected]
message: 'Rebuild natives for Windows'
push: true
build-macos-intel:
runs-on: [macos-12]
needs: [build-windows]
strategy:
max-parallel: 1
steps:
- uses: actions/checkout@v4
- name: Pull repo
run: |
git reset --hard
git pull
- name: Install dependencies
run: |
brew install coreutils
sudo xcode-select --switch /Applications/Xcode_13.1.app
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Check Java/Gradle versions
run: |
java --version
gradle --version
- name: Compile native library (x86_64)
run: |
bash cppbuild.bash
- name: Commit generated java and native libraries
uses: EndBug/add-and-commit@v9
with:
add: '*.dylib *.jnilib' # Only commit generated java from Linux
author_name: ihmc-rosie
author_email: [email protected]
message: 'Rebuild natives for macOS'
push: true
build-macos-arm:
runs-on: [macos-14]
needs: [build-macos-intel]
strategy:
max-parallel: 1
steps:
- uses: actions/checkout@v4
- name: Pull repo
run: |
git reset --hard
git pull
- name: Install dependencies
run: |
brew install coreutils
brew install swig
sudo xcode-select --switch /Applications/Xcode_14.3.1.app
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Check Java/Gradle versions
run: |
java --version
gradle --version
- name: Compile native library (arm64)
run: |
bash cppbuild.bash
- name: Commit generated java and native libraries
uses: EndBug/add-and-commit@v9
with:
add: '*.dylib *.jnilib' # Only commit generated java from Linux
author_name: ihmc-rosie
author_email: [email protected]
message: 'Rebuild natives for macOS'
push: true