-
Notifications
You must be signed in to change notification settings - Fork 5
131 lines (120 loc) · 3.92 KB
/
test-java-bindings-new.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
name: Java Cross-platform Build and Test
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
name: Build for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-apple-darwin
os: ubuntu-latest
- target: x86_64-apple-darwin
os: ubuntu-latest
- target: x86_64-pc-windows-gnu
os: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: Install cargo-binstall
uses: taiki-e/install-action@cargo-binstall
- name: Install Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: 0.10.1
- name: Install cargo-zigbuild
run: cargo binstall --no-confirm cargo-zigbuild
- name: Run compile script
run: |
chmod +x .github/scripts/compile_all_targets_java_new.sh
.github/scripts/compile_all_targets_java_new.sh ${{ matrix.target }}
shell: bash
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.target }}-java-code
path: bindings/java/java_code
# test:
# name: Test on ${{ matrix.target }}
# needs: build
# strategy:
# matrix:
# include:
# - target: x86_64-unknown-linux-gnu
# os: ubuntu-latest
# - target: aarch64-unknown-linux-gnu
# os: linux-arm64
# - target: x86_64-apple-darwin
# os: macos-13
# - target: aarch64-apple-darwin
# os: macos-14
# - target: x86_64-pc-windows-gnu
# os: windows-latest
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v3
# - name: Download artifacts
# uses: actions/download-artifact@v3
# with:
# name: ${{ matrix.target }}-java-code
# path: bindings/java/java_code
# - name: Set up JDK
# uses: actions/setup-java@v3
# with:
# distribution: 'temurin'
# java-version: '17'
# - name: Build with Gradle (no tests)
# run: ./gradlew build -x test
# working-directory: bindings/java/java_code
# - name: Run Gradle tests
# run: ./gradlew test --info --stacktrace --scan
# working-directory: bindings/java/java_code
publish:
name: Merge Artifacts
needs: [build]
# needs: [build, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Download x86_64-unknown-linux-gnu artifact
uses: actions/download-artifact@v3
with:
name: x86_64-unknown-linux-gnu-java-code
path: bindings/java/java_code
- name: Download aarch64-unknown-linux-gnu artifact
uses: actions/download-artifact@v3
with:
name: aarch64-unknown-linux-gnu-java-code
path: bindings/java/java_code
- name: Download aarch64-apple-darwin artifact
uses: actions/download-artifact@v3
with:
name: aarch64-apple-darwin-java-code
path: bindings/java/java_code
- name: Download x86_64-apple-darwin artifact
uses: actions/download-artifact@v3
with:
name: x86_64-apple-darwin-java-code
path: bindings/java/java_code
- name: Download x86_64-pc-windows-gnu artifact
uses: actions/download-artifact@v3
with:
name: x86_64-pc-windows-gnu-java-code
path: bindings/java/java_code
- name: List merged artifacts
run: ls -R bindings/java/java_code