-
Notifications
You must be signed in to change notification settings - Fork 18
129 lines (107 loc) · 2.92 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
name: CI
on:
pull_request:
push:
branches:
- master
env:
RUST_BACKTRACE: full
jobs:
style:
name: Check Style
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- 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
clippy:
name: Check Clippy
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: Install dependencies
run: |
DEBIAN_FRONTEND=noninteractive sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y ninja-build nasm meson
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
profile: minimal
override: true
- name: cargo clippy --all --examples
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all --examples
build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
strategy:
matrix:
name:
- linux / stable
- linux / beta
- linux / nightly
- macOS / stable
- "feat.: codec-aom"
- linux / 1.36.0
include:
- name: linux / stable
rust: stable
- name: linux / beta
rust: beta
- name: linux / nightly
rust: nightly
- name: linux / 1.36.0
rust: 1.36.0
- name: macOS / stable
os: macOS-latest
- name: "feat.: codec-aom"
features: "--no-default-features --features codec-aom"
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: Install dependencies (linux)
if: matrix.os != 'macOS-latest'
run: |
DEBIAN_FRONTEND=noninteractive sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y ninja-build nasm meson
- name: Install dependencies (macOS)
if: matrix.os == 'macOS-latest'
run: |
brew install ninja nasm meson
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust || 'stable' }}
target: ${{ matrix.target }}
profile: minimal
override: true
- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: ${{ matrix.features }} --all --examples
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: ${{ matrix.features }} --all