-
Notifications
You must be signed in to change notification settings - Fork 2
131 lines (114 loc) · 3.28 KB
/
develop_pr.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: Develop PR
on:
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
style:
name: Check Style
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
profile: minimal
override: true
- name: cargo fmt -- --check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
test:
name: Test
if: always()
runs-on: ubuntu-latest
strategy:
matrix:
build: [ stable, beta, nightly ]
include:
- build: beta
rust: beta
- build: nightly
rust: nightly
benches: true
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust || 'stable' }}
profile: minimal
override: true
- name: Build debug
uses: actions-rs/cargo@v1
with:
command: build
args: ${{ matrix.features }}
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: ${{ matrix.features }}
- name: Test all benches
if: matrix.benches
uses: actions-rs/cargo@v1
with:
command: test
args: --benches ${{ matrix.features }}
deploy_building:
name: Deploy Building
# needs: [ test ]
strategy:
matrix:
os: [ ubuntu-latest ] # Default os for build
target: [ aarch64-unknown-linux-gnu,
i686-pc-windows-gnu, x86_64-pc-windows-gnu,
i686-unknown-linux-gnu, x86_64-unknown-linux-gnu,
x86_64-apple-darwin ]
exclude: # Do not build for macOS on Linux
- target: x86_64-apple-darwin
os: ubuntu-latest
include: # List of all targets to build for and the name for common mortals
- target: aarch64-unknown-linux-gnu
name: linux-arm64
- target: i686-pc-windows-gnu
name: windows-i686
- target: x86_64-pc-windows-gnu
name: windows-x86_64
- target: i686-unknown-linux-gnu
name: linux-i686
- target: x86_64-unknown-linux-gnu
name: linux-x86_64
- target: x86_64-apple-darwin
name: macos-x86_64
os: macos-latest
# Runs on latest ubuntu by default except for windows targets
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
target: ${{ matrix.target }}
- name: PKG Config path (Linux)
if: runner.os == 'Linux'
run: |
echo "PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/" >> $GITHUB_ENV
- name: Build release
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target ${{ matrix.target }}
env:
OPENSSL_DIR: /usr/lib/ssl