forked from pest-parser/pest
137 lines (133 loc) · 3.78 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
name: pest Continuous Integration
on:
push:
branches:
- staging
- trying
- master
pull_request:
branches:
- staging
- trying
- master
jobs:
testing:
name: Unit, Style, and Lint Testing
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v2
- name: Install Rust Stable
uses: actions-rs/toolchain@v1
with:
toolchain: 1.56.1 # Pinned warnings
components: rustfmt, clippy
default: true
- name: Install gcc
run: sudo apt-get update && sudo apt-get install -y gcc
- name: Bootstraping Grammars - Building
uses: actions-rs/cargo@v1
with:
command: build
args: --package pest_bootstrap
- name: Bootstraping Grammars - Executing
uses: actions-rs/cargo@v1
with:
command: run
args: --package pest_bootstrap
- name: Cargo Build
uses: actions-rs/cargo@v1
with:
command: build
args: --all --verbose
- name: Cargo Test
uses: actions-rs/cargo@v1
with:
command: test
args: --all --verbose
- name: Cargo Doc
uses: actions-rs/cargo@v1
with:
command: doc
args: --all --verbose
- name: Cargo Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all -- -D warnings
- name: Cargo Fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
dependency:
name: Minimal Versions Testing
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v2
- name: Install gcc
run: sudo apt-get update && sudo apt-get install -y gcc
- name: Install Rust Nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2022-01-01
default: true
profile: minimal
- name: Bootstraping Grammars - Building
uses: actions-rs/cargo@v1
with:
command: build
args: --package pest_bootstrap
- name: Bootstraping Grammars - Executing
uses: actions-rs/cargo@v1
with:
command: run
args: --package pest_bootstrap
- name: Cargo minimal-versions
run: cargo -Z minimal-versions generate-lockfile
- name: Cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all --verbose --release
- name: Cargo test (run ignored)
uses: actions-rs/cargo@v1
with:
command: test
args: -p pest_grammars --lib --verbose --release -- --ignored tests::toml_handles_deep_nesting_unstable
coverage:
name: Test Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Install Rust Stable
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
components: llvm-tools-preview
default: true
- name: Bootstraping Grammars - Building
uses: actions-rs/cargo@v1
with:
command: build
args: --package pest_bootstrap
- name: Bootstraping Grammars - Executing
uses: actions-rs/cargo@v1
with:
command: run
args: --package pest_bootstrap
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Generate code coverage
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
- name: Upload Results to Codecov
uses: codecov/codecov-action@v3
with:
file: lcov.info
flags: unittests
name: pest-ci-coverage
fail_ci_if_error: false
verbose: true