@@ -20,59 +20,99 @@ jobs:
20
20
- os : ubuntu-latest
21
21
target : x86_64-unknown-linux-gnu
22
22
exe : rathole
23
+ cross : false
23
24
- os : ubuntu-latest
24
25
target : x86_64-unknown-linux-musl
25
26
exe : rathole
27
+ cross : false
26
28
- os : ubuntu-latest
27
29
target : aarch64-unknown-linux-musl
28
30
exe : rathole
31
+ cross : true
29
32
- os : ubuntu-latest
30
33
target : arm-unknown-linux-musleabi
31
34
exe : rathole
35
+ cross : true
32
36
- os : ubuntu-latest
33
37
target : arm-unknown-linux-musleabihf
34
38
exe : rathole
39
+ cross : true
35
40
- os : ubuntu-latest
36
41
target : armv7-unknown-linux-musleabihf
37
42
exe : rathole
43
+ cross : true
38
44
- os : ubuntu-latest
39
45
target : mips-unknown-linux-gnu
40
46
exe : rathole
47
+ cross : true
41
48
- os : ubuntu-latest
42
49
target : mips-unknown-linux-musl
43
50
exe : rathole
51
+ cross : true
44
52
- os : ubuntu-latest
45
53
target : mipsel-unknown-linux-gnu
46
54
exe : rathole
55
+ cross : true
47
56
- os : ubuntu-latest
48
57
target : mipsel-unknown-linux-musl
49
58
exe : rathole
59
+ cross : true
50
60
- os : ubuntu-latest
51
61
target : mips64-unknown-linux-gnuabi64
52
62
exe : rathole
63
+ cross : true
53
64
- os : ubuntu-latest
54
65
target : mips64el-unknown-linux-gnuabi64
55
66
exe : rathole
67
+ cross : true
56
68
57
69
- os : macos-latest
58
70
target : x86_64-apple-darwin
59
71
exe : rathole
72
+ cross : false
60
73
61
74
- os : windows-latest
62
75
target : x86_64-pc-windows-msvc
63
76
exe : rathole.exe
77
+ cross : false
64
78
steps :
65
79
- uses : actions/checkout@v2
66
80
- uses : actions-rs/toolchain@v1
67
81
with :
68
82
profile : minimal
69
- toolchain : stable
83
+ # Since rust 1.72, some platforms are tier 3
84
+ toolchain : 1.71
85
+ default : true
86
+
87
+ - name : Install OpenSSL
88
+ if : matrix.os == 'ubuntu-latest'
89
+ run : sudo apt-get install pkg-config libssl-dev
90
+ - name : Install OpenSSL
91
+ if : matrix.os == 'macos-latest'
92
+ run : brew install openssl@3
93
+
94
+ # Native build
95
+ - name : Install target
96
+ if : matrix.cross == false
97
+ run : rustup target add ${{ matrix.target }}
98
+ - name : Run tests
99
+ if : matrix.cross == false
100
+ run : cargo test --release --target ${{ matrix.target }} --verbose
101
+ - name : Build release
102
+ if : matrix.cross == false
103
+ run : cargo build --release --target ${{ matrix.target }}
104
+
105
+ # Cross build
70
106
- name : Install cross
71
- run : cargo install --version 0.1.16 cross
107
+ if : matrix.cross
108
+ run : cargo install --version 0.2.5 cross
72
109
- name : Run tests
73
- run : cross test --release --target ${{ matrix.target }} --verbose
110
+ if : matrix.cross
111
+ run : cross test --release --target ${{ matrix.target }} --verbose --features embedded --no-default-features
74
112
- name : Build release
75
- run : cross build --release --target ${{ matrix.target }}
113
+ if : matrix.cross
114
+ run : cross build --release --target ${{ matrix.target }} --features embedded --no-default-features
115
+
76
116
- name : Run UPX
77
117
# Upx may not support some platforms. Ignore the errors
78
118
continue-on-error : true
0 commit comments