@@ -13,17 +13,28 @@ jobs:
13
13
runs-on : ${{ matrix.os }}
14
14
strategy :
15
15
matrix :
16
- os : [ubuntu-latest, windows-latest, macos-latest ]
16
+ target : [x86_64-unknown-linux-gnu, x86_64-pc- windows-gnu, x86_64-apple-darwin, armv7-unknown-linux-gnueabihf ]
17
17
include :
18
- - os : ubuntu-latest
18
+ - target : x86_64-unknown-linux-gnu
19
+ os : ubuntu-latest
19
20
artifact_name : cryptography-learning-backend
20
21
release_name : cryptography-learning-backend-linux-ubuntu-amd64
21
- - os : windows-latest
22
+ use_cross : false
23
+ - target : x86_64-pc-windows-gnu
24
+ os : windows-latest
22
25
artifact_name : cryptography-learning-backend.exe
23
26
release_name : cryptography-learning-backend-windows-amd64.exe
24
- - os : macos-latest
27
+ use_cross : false
28
+ - target : x86_64-apple-darwin
29
+ os : macos-latest
25
30
artifact_name : cryptography-learning-backend
26
31
release_name : cryptography-learning-backend-macos-amd64
32
+ use_cross : false
33
+ - target : armv7-unknown-linux-gnueabihf
34
+ os : ubuntu-latest
35
+ artifact_name : cryptography-learning-backend
36
+ release_name : cryptography-learning-backend-linux-armv7-gnueabihf
37
+ use_cross : true
27
38
28
39
steps :
29
40
- uses : actions/checkout@v2
@@ -32,49 +43,22 @@ jobs:
32
43
toolchain : stable
33
44
target : ${{ matrix.target }}
34
45
override : true
35
- with :
36
- toolchain : stable
37
- target : ${{ matrix.target }}
38
- override : true
39
46
- uses : Swatinem/rust-cache@v2
40
47
- uses : actions-rs/cargo@v1
41
48
with :
42
- use-cross : true
43
- command : build
44
- args : --release
45
- - name : Upload binaries to release
46
- uses : svenstaro/upload-release-action@v1-release
47
- with :
48
- repo_token : ${{ secrets.GITHUB_TOKEN }}
49
- file : target/release/${{ matrix.artifact_name }}
50
- asset_name : ${{ matrix.release_name }}
51
- tag : ${{ github.ref }}
52
-
53
- cross-compile-publish :
54
- name : Cross Compile Publish
55
- runs-on : ubuntu-latest
56
- strategy :
57
- matrix :
58
- target :
59
- - armv7-unknown-linux-gnueabihf
60
- steps :
61
- - uses : actions/checkout@v2
62
- - uses : actions-rs/toolchain@v1
63
- with :
64
- toolchain : stable
65
- target : ${{ matrix.target }}
66
- override : true
49
+ use-cross : ${{ matrix.use_cross }}
50
+ command : test
67
51
- uses : actions-rs/cargo@v1
68
52
with :
69
- use-cross : true
53
+ use-cross : ${{ matrix.use_cross }}
70
54
command : build
71
55
args : --release --target=${{ matrix.target }}
72
56
- name : Upload binaries to release
73
57
uses : svenstaro/upload-release-action@v1-release
74
58
with :
75
59
repo_token : ${{ secrets.GITHUB_TOKEN }}
76
- file : target/${{ matrix.target }}/release/cryptography-learning-backend
77
- asset_name : cryptography-learning-backend- ${{ matrix.target }}
60
+ file : target/${{ matrix.target }}/release/${{ matrix.artifact_name }}
61
+ asset_name : ${{ matrix.release_name }}
78
62
tag : ${{ github.ref }}
79
63
80
64
static-compile-publish :
88
72
- uses : actions/checkout@v2
89
73
- name : Static build
90
74
uses : zhxiaogg/cargo-static-build@master
75
+ with :
76
+ cmd : cargo build --release
91
77
- uses : svenstaro/upload-release-action@v1-release
92
78
with :
93
79
repo_token : ${{ secrets.GITHUB_TOKEN }}
0 commit comments