4
4
- pull_request
5
5
6
6
jobs :
7
- natives-linux-windows :
8
- name : Linux (x86/ARM/PPC) and Windows native library compilation
7
+ natives-linux :
8
+ name : Linux (x86_64) native library compilation
9
9
runs-on : ubuntu-18.04
10
10
11
11
defaults :
@@ -22,12 +22,11 @@ jobs:
22
22
- name : Install build prerequisites
23
23
run : |
24
24
sudo apt update
25
- sudo make crosstools
26
25
27
- - name : Build the Linux and Windows native libraries
26
+ - name : Build the Linux native libraries (x86_64 only)
28
27
run : |
29
- make clean-linux clean-windows
30
- make linux windows
28
+ make clean-linux
29
+ make linux64
31
30
32
31
# The names of the artifacts containing native libraries correspond
33
32
# exactly to the directories inside `src/main/c/resources/native`. That
@@ -43,82 +42,13 @@ jobs:
43
42
with :
44
43
name : linux
45
44
path : src/main/c/resources/native/linux
46
- - name : Upload Windows native libraries
47
- uses : actions/upload-artifact@v2
48
- with :
49
- name : windows
50
- path : src/main/c/resources/native/windows
51
-
52
- natives-macos :
53
- name : macOS native library compilation
54
- runs-on : macos-10.15
55
-
56
- defaults :
57
- run :
58
- working-directory : src/main/c
59
-
60
- steps :
61
- - name : Checkout the code
62
- uses : actions/checkout@v2
63
- - name : Setup Java
64
- uses : actions/setup-java@v1
65
- with :
66
- java-version : 8
67
-
68
- - name : Build the macOS native libraries
69
- run : |
70
- make clean-osx
71
- make osx
72
-
73
- - name : Upload macOS native libraries
74
- uses : actions/upload-artifact@v2
75
- with :
76
- name : osx
77
- path : src/main/c/resources/native/osx/libNRJavaSerial.jnilib
78
-
79
- natives-freebsd :
80
- name : FreeBSD native library compilation
81
- runs-on : ubuntu-18.04
82
- container :
83
- image : empterdose/freebsd-cross-build:9.3
84
- env :
85
- JAVA_HOME : /usr/lib/jvm/default-jvm
86
-
87
- defaults :
88
- run :
89
- working-directory : src/main/c
90
-
91
- steps :
92
- - name : Checkout the code
93
- uses : actions/checkout@v2
94
- - name : Setup Java
95
- # This feels extremely dirty, but the only native header we care about
96
- # is `jni_md.h`, and it is exactly identical between Linux and FreeBSD
97
- # (at least in OpenJDK 8).
98
- run : |
99
- apk add openjdk8
100
- ln -s $JAVA_HOME/include/linux $JAVA_HOME/include/freebsd
101
-
102
- - name : Build the FreeBSD native libraries
103
- run : |
104
- make clean-freebsd
105
- settarget i386-freebsd9 make freebsd32
106
- settarget x86_64-freebsd9 make freebsd64
107
-
108
- - name : Upload FreeBSD native libraries
109
- uses : actions/upload-artifact@v2
110
- with :
111
- name : freebsd
112
- path : src/main/c/resources/native/freebsd
113
45
114
46
java :
115
47
name : Java compilation
116
48
runs-on : ubuntu-18.04
117
49
118
50
needs :
119
- - natives-linux-windows
120
- - natives-macos
121
- - natives-freebsd
51
+ - natives-linux
122
52
123
53
steps :
124
54
- name : Checkout the code
0 commit comments