-
Notifications
You must be signed in to change notification settings - Fork 0
161 lines (161 loc) · 6.13 KB
/
ci.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
150
151
152
153
154
155
156
157
158
159
160
161
name: ne-s3-actions
on: [push, pull_request]
jobs:
x86_64-pc-windows-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-pc-windows-msvc
- run: cargo build --release --target x86_64-pc-windows-msvc
- uses: actions/upload-artifact@v4
with:
name: x86_64-pc-windows-msvc
path: |
target/x86_64-pc-windows-msvc/release/ne_s3.dll
target/x86_64-pc-windows-msvc/release/ne_s3.dll.lib
target/x86_64-pc-windows-msvc/release/ne_s3.pdb
target/x86_64-pc-windows-msvc/release/ne-s3-client.exe
i686-pc-windows-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: i686-pc-windows-msvc
- run: cargo build --release --target i686-pc-windows-msvc
- uses: actions/upload-artifact@v4
with:
name: i686-pc-windows-msvc
path: |
resources/cacert.pem
resources/ne_s3.h
target/i686-pc-windows-msvc/release/ne_s3.dll
target/i686-pc-windows-msvc/release/ne_s3.dll.lib
target/i686-pc-windows-msvc/release/ne_s3.pdb
target/i686-pc-windows-msvc/release/ne-s3-client.exe
x86_64-unknown-linux-gnu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-unknown-linux-gnu
- run: cargo build --release --target x86_64-unknown-linux-gnu
- uses: actions/upload-artifact@v4
with:
name: x86_64-unknown-linux-gnu
path: |
resources/cacert.pem
resources/ne_s3.h
target/x86_64-unknown-linux-gnu/release/libne_s3.so
target/x86_64-unknown-linux-gnu/release/ne-s3-client
aarch64-unknown-linux-gnu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-unknown-linux-gnu
# install openssl for aarch64
- run: sudo dpkg --add-architecture arm64
- run: sudo apt-get update
- run: sudo apt-get install -y libssl-dev:arm64
- run: export OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu
- run: export OPENSSL_INCLUDE_DIR=/usr/include/aarch64-linux-gnu
- run: cargo install cross
- run: cross build --release --target aarch64-unknown-linux-gnu
- uses: actions/upload-artifact@v4
with:
name: aarch64-unknown-linux-gnu
path: |
resources/cacert.pem
resources/ne_s3.h
target/aarch64-unknown-linux-gnu/release/libne_s3.so
target/aarch64-unknown-linux-gnu/release/ne-s3-client
x86_64-apple-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: x86_64-apple-darwin
- run: cargo build --release --target x86_64-apple-darwin
- uses: actions/upload-artifact@v4
with:
name: x86_64-apple-darwin
path: |
resources/cacert.pem
resources/ne_s3.h
target/x86_64-apple-darwin/release/libne_s3.dylib
target/x86_64-apple-darwin/release/ne-s3-client
aarch64-apple-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-apple-darwin
- run: cargo build --release --target aarch64-apple-darwin
- uses: actions/upload-artifact@v4
with:
name: aarch64-apple-darwin
path: |
resources/cacert.pem
resources/ne_s3.h
target/aarch64-apple-darwin/release/libne_s3.dylib
target/aarch64-apple-darwin/release/ne-s3-client
android-universal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-linux-android
- run: cargo install cargo-ndk
- run: curl -L https://github.com/217heidai/openssl_for_android/releases/download/3.2.0/OpenSSL_3.2.0_arm64-v8a.tar.gz -o OpenSSL_3.2.0_arm64-v8a.tar.gz
- run: curl -L https://github.com/217heidai/openssl_for_android/releases/download/3.2.0/OpenSSL_3.2.0_armeabi-v7a.tar.gz -o OpenSSL_3.2.0_armeabi-v7a.tar.gz
- run: tar -xzf OpenSSL_3.2.0_arm64-v8a.tar.gz
- run: tar -xzf OpenSSL_3.2.0_armeabi-v7a.tar.gz
- run: export OPENSSL_LIB_DIR=$PWD/OpenSSL_3.2.0_arm64-v8a/lib
- run: export OPENSSL_INCLUDE_DIR=$PWD/OpenSSL_3.2.0_arm64-v8a/include
- run: cargo ndk -t arm64-v8a -o ./jniLibs build --release
- run: export OPENSSL_LIB_DIR=$PWD/OpenSSL_3.2.0_armeabi-v7a/lib
- run: export OPENSSL_INCLUDE_DIR=$PWD/OpenSSL_3.2.0_armeabi-v7a/include
- run: cargo ndk -t armeabi-v7a -o ./jniLibs build --release
- uses: actions/upload-artifact@v4
with:
name: android-universal
path: |
resources/cacert.pem
resources/ne_s3.h
jniLibs
ios-universal:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: aarch64-apple-ios, x86_64-apple-ios
- run: cargo build --release --target aarch64-apple-ios --target x86_64-apple-ios
- uses: actions/upload-artifact@v4
with:
name: ios-universal
path: |
resources/cacert.pem
resources/ne_s3.h
target/aarch64-apple-ios/release/libne_s3.dylib
target/aarch64-apple-ios/release/ne-s3-client
target/aarch64-apple-ios-sim/release/libne_s3.dylib
target/aarch64-apple-ios-sim/release/ne-s3-client
target/x86_64-apple-ios/release/libne_s3.dylib
target/x86_64-apple-ios/release/ne-s3-client