-
Notifications
You must be signed in to change notification settings - Fork 317
113 lines (102 loc) · 3.68 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
name: CI
on: [pull_request, push]
## Cancel a job if there's a new on on the same branch started.
## Based on https://stackoverflow.com/questions/58895283/stop-already-running-workflow-job-in-github-actions/67223051#67223051
#concurrency:
# group: ${{ github.ref }}
# cancel-in-progress: true
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
# Faster crates.io index checkout.
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
jobs:
set-msrv:
runs-on: ubuntu-latest
outputs:
msrv: ${{ steps.msrv.outputs.MSRV }}
steps:
- uses: actions/checkout@v4
- name: Get MSRV from rust-toolchain
id: msrv
run: |
MSRV=$(cat ./rust-toolchain)
echo "MSRV=$MSRV" | tee --append "$GITHUB_OUTPUT"
#check_clippy:
# needs: set-msrv
# runs-on: ubuntu-latest
# name: Clippy
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@master
# with:
# toolchain: ${{ needs.set-msrv.outputs.msrv }}
# components: clippy
# - name: Install required packages
# run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
# - name: Run cargo clippy
# run: cargo clippy --all-targets --workspace -- -D warnings
#
#check_fmt:
# needs: set-msrv
# runs-on: ubuntu-latest
# name: Checking fmt
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@master
# with:
# toolchain: ${{ needs.set-msrv.outputs.msrv }}
# components: rustfmt
# - name: Run cargo fmt
# run: cargo fmt --all -- --check
test_release:
needs: set-msrv
runs-on: ubuntu-latest
name: Test in release mode
strategy:
matrix:
cargo-args: ['', '--features fixed-rows-to-discard']
env:
# Run all tests with multicore-SDR enabled.
FIL_PROOFS_USE_MULTICORE_SDR: true
steps:
- uses: actions/checkout@v4
#- uses: dtolnay/rust-toolchain@master
# with:
# toolchain: ${{needs.set-msrv.outputs.msrv}}
- name: Install required packages
run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
- name: Download the proof params
uses: ./.github/actions/proof-params-download
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test in release profile
run: |
cargo test --verbose --release --workspace --all-targets ${{ matrix.cargo-args }}
#cargo test --release -p storage-proofs-porep --features isolated-testing ${{ matrix.cargo-args }} -- --test-threads=1
cargo test --release -p storage-proofs-porep --features isolated-testing ${{ matrix.cargo-args }}
# Some `storage-proofs-update` tests need to run sequentially due to
# their high memory usage.
cargo test --release -p storage-proofs-update --features isolated-testing ${{ matrix.cargo-args }} -- --test-threads=1
test_ignored_release:
runs-on: ubuntu-latest
name: Test ignored in release mode
strategy:
matrix:
crate: [
'filecoin-proofs',
'storage-proofs-core',
'storage-proofs-porep',
'storage-proofs-post',
'storage-proofs-update'
]
steps:
- uses: actions/checkout@v4
- name: Install required packages
run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
- name: Download the proof params
uses: ./.github/actions/proof-params-download
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test ignored in release profile
run: cargo test --package ${{ matrix.crate }} --release -- ignored --nocapture