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
name: Cargo Test
on:
push:
branches:
- main
- dev
pull_request:
types:
paths:
- '**.rs'
- '**/Cargo.toml'
workflow_dispatch:
jobs:
cargo-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
- name: deal with rust cache
uses: Swatinem/rust-cache@v1
- name: cargo test
run: |
cargo test --no-fail-fast --verbose
# cargo-coverage-test:
# runs-on: ubuntu-latest
# env:
# BACKEND_TEST_MODE: true
# defaults:
# run:
# working-directory: backend
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Install latest nightly
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# override: true
# components: rustfmt, clippy
# - name: deal with rust cache
# uses: Swatinem/rust-cache@v1
# with:
# working-directory: backend
# - name: Add containers
# run: docker-compose -f docker-compose-dev.yml up -d
# - name: run backend consumer
# run: |
# cargo install cargo-tarpaulin
# - name: Generate code coverage
# run: |
# cargo install cargo-tarpaulin
# # cargo tarpaulin --all-features --no-run --skip-clean --no-fail-fast --verbose --timeout 300 --out Xml
# # ./target/debug/consumer &
# cargo tarpaulin --all-features --no-fail-fast --skip-clean --verbose --timeout 300 --out Xml --exclude-files "src/bin/*" --follow-exec
# - name: remove containers
# run: docker-compose -f docker-compose-dev.yml down && sudo rm -rf data
# - name: Upload to codecov.io
# uses: codecov/codecov-action@v2
# if: ${{ success() }}
# with:
# directory: backend
# cargo-bench:
# runs-on: ubuntu-latest
# env:
# BACKEND_TEST_MODE: true
# defaults:
# run:
# working-directory: backend
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Install latest nightly
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# override: true
# components: rustfmt, clippy
# - name: deal with rust cache
# uses: Swatinem/rust-cache@v1
# with:
# working-directory: backend
# - name: cargo bench
# run: |
# cargo bench --all-features -v --no-fail-fast