@@ -5,20 +5,65 @@ name: Build browser
5
5
on : push
6
6
7
7
jobs :
8
+ browser-jni :
9
+ runs-on : ubuntu-latest
10
+ container : sbx320/rust-x86_64-pc-windows-gnu
11
+ steps :
12
+ - uses : actions/checkout@v3
13
+
14
+ - name : Set up Rust
15
+ run : rustup target add x86_64-pc-windows-gnu
16
+
17
+ - name : Set up Workspace
18
+ run : |
19
+ mkdir -p cef/Release
20
+ rm -rf java/org.eclipse.set.browser.cef.win32/res/cef
21
+ mkdir -p java/org.eclipse.set.browser.cef.win32/res/cef
22
+ mkdir -p java/org.eclipse.set.browser.lib/res
23
+
24
+ - name : Cache CEF
25
+ id : cef-cache
26
+ uses : actions/cache@v3
27
+ with :
28
+ path : |
29
+ java/org.eclipse.set.browser.cef.win32/res/cef
30
+ cef/Release/libcef.lib
31
+ cef/Release/LICENSE.txt
32
+ key : ${{ hashFiles('CEF_VERSION.txt') }}
33
+
34
+ - name : Download CEF
35
+ if : steps.cef-cache.outputs.cache-hit != 'true'
36
+ run : |
37
+ VERSION=$(grep -E -v ^# ../../CEF_VERSION.txt)
38
+ wget https://cef-builds.spotifycdn.com/$VERSION.tar.bz2 -O cef.tar.bz2
39
+ tar xf cef.tar.bz2 $VERSION/LICENSE.txt $VERSION/Resources --strip-components 1
40
+ tar xf cef.tar.bz2 $VERSION/Release/libcef.lib --strip-components 2
41
+ tar xf cef.tar.bz2 --wildcards $VERSION/Release/*.dll --wildcards $VERSION/Release/*.bin --strip-components 2
42
+ cp -r *.dll *.bin Resources/* LICENSE.txt ../../java/org.eclipse.set.browser.cef.win32/res/cef
43
+ ls -avl ../../java/org.eclipse.set.browser.cef.win32/res/cef
44
+ working-directory : cef/Release
45
+
46
+ - name : Build Rust
47
+ run : cargo clean && cargo build --release --target x86_64-pc-windows-gnu
48
+ working-directory : native
49
+
50
+ - name : Archive binaries
51
+ uses : actions/upload-artifact@v3
52
+ with :
53
+ name : chromium-swt-libs
54
+ path : native/target/x86_64-pc-windows-gnu/release/chromium_*.*
55
+ retention-days : 1
56
+
8
57
build :
58
+ needs :
59
+ - browser-jni
9
60
runs-on : ubuntu-latest
10
61
permissions :
11
62
contents : read
12
63
packages : write
13
64
steps :
14
65
- uses : actions/checkout@v3
15
-
16
- - name : Set up Rust
17
- run : rustup target add x86_64-pc-windows-gnu
18
66
19
- - name : Install MinGW
20
- run : sudo apt-get install --assume-yes --no-install-recommends gcc-mingw-w64 libz-mingw-w64-dev
21
-
22
67
- name : Set up JDK
23
68
uses : actions/setup-java@v3
24
69
with :
@@ -56,14 +101,11 @@ jobs:
56
101
ls -avl ../../java/org.eclipse.set.browser.cef.win32/res/cef
57
102
working-directory : cef/Release
58
103
59
- - name : Build Rust
60
- run : cargo clean && cargo build --release --target x86_64-pc-windows-gnu
61
- working-directory : native
62
-
63
- - name : Copy binaries
64
- run : |
65
- cp native/target/x86_64-pc-windows-gnu/release/chromium_subp.exe java/org.eclipse.set.browser.lib/res/
66
- cp native/target/x86_64-pc-windows-gnu/release/chromium_jni.dll java/org.eclipse.set.browser.lib/res/
104
+ - name : Fetch Rust binaries
105
+ uses : actions/download-artifact@v3
106
+ with :
107
+ name : chromium-swt-libs
108
+ path : java/org.eclipse.set.browser.lib/res/
67
109
68
110
- name : Set up Maven
69
111
uses : stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5
0 commit comments