18
18
19
19
jobs :
20
20
check_clippy :
21
- runs-on : self-hosted
21
+ runs-on : ubuntu-24.04
22
22
name : Clippy
23
23
steps :
24
24
- uses : actions/checkout@v4
25
+ - name : Install required packages
26
+ run : sudo apt install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev
27
+ - name : Install cargo clippy
28
+ run : rustup component add clippy
25
29
- name : Run cargo clippy
26
30
run : cargo clippy --all-targets --workspace -- -D warnings
27
31
28
32
check_fmt :
29
- runs-on : self-hosted
33
+ runs-on : ubuntu-24.04
30
34
name : Checking fmt
31
35
steps :
32
36
- uses : actions/checkout@v4
37
+ - name : Install cargo fmt
38
+ run : rustup component add rustfmt
33
39
- name : Run cargo fmt
34
40
run : cargo fmt --all -- --check
35
41
36
42
test_release :
37
- runs-on : self-hosted
43
+ runs-on : ubuntu-24.04
38
44
name : Test in release mode
39
45
strategy :
40
46
matrix :
@@ -44,56 +50,96 @@ jobs:
44
50
FIL_PROOFS_USE_MULTICORE_SDR : true
45
51
steps :
46
52
- uses : actions/checkout@v4
53
+ - name : Install required packages
54
+ run : sudo apt install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev
55
+
56
+ - name : Download the proof params
57
+ uses : ./.github/actions/proof-params-download
58
+ with :
59
+ github-token : ${{ secrets.GITHUB_TOKEN }}
60
+
47
61
- name : Run usual tests in release profile
48
62
run : cargo test --verbose --release --workspace --all-targets ${{ matrix.cargo-args }} -- --nocapture
49
63
- name : Run isolated PoRep tests in release profile
50
- run : cargo test --release -p storage-proofs-porep --features isolated-testing ${{ matrix.cargo-args }} -- --nocapture --test-threads=1
64
+ # Getting the cores does not work on GitHub Actions, hence skip that
65
+ # specific test.
66
+ run : cargo test --release -p storage-proofs-porep --features isolated-testing ${{ matrix.cargo-args }} -- --nocapture --skip stacked::vanilla::cores::tests::test_checkout_cores
51
67
- name : Run isolated update tests in release profile
52
- run : cargo test --release -p storage-proofs-update --features isolated-testing ${{ matrix.cargo-args }} -- --nocapture
68
+ # Some `storage-proofs-update` tests need to run sequentially due to
69
+ # their high memory usage.
70
+ run : cargo test --release -p storage-proofs-update --features isolated-testing ${{ matrix.cargo-args }} -- --nocapture --test-threads=1
53
71
54
72
test_ignored_release :
55
- runs-on : self-hosted
73
+ runs-on : ubuntu-24.04
56
74
name : Test ignored in release mode
57
75
steps :
58
76
- uses : actions/checkout@v4
77
+ - name : Install required packages
78
+ run : sudo apt install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev
79
+
80
+ - name : Download the proof params
81
+ uses : ./.github/actions/proof-params-download
82
+ with :
83
+ github-token : ${{ secrets.GITHUB_TOKEN }}
84
+
59
85
- name : Test ignored in release profile
60
86
run : cargo test --release --workspace -- ignored --nocapture
61
87
62
88
test_no_default_features :
63
- runs-on : self-hosted
89
+ runs-on : ubuntu-24.04
64
90
name : Test without default features
65
91
steps :
66
92
- uses : actions/checkout@v4
93
+ - name : Install required packages
94
+ run : sudo apt install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev
95
+
96
+ - name : Download the proof params
97
+ uses : ./.github/actions/proof-params-download
98
+ with :
99
+ github-token : ${{ secrets.GITHUB_TOKEN }}
100
+
67
101
- name : Test ignored in release profile
68
102
run : cargo test --release --workspace --no-default-features
69
103
70
104
build_gpu :
71
- runs-on : self-hosted
105
+ runs-on : ubuntu-24.04
72
106
name : Build with various GPU support enabled
73
107
steps :
74
108
- uses : actions/checkout@v4
109
+ - name : Install required packages
110
+ run : sudo apt install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev
111
+
75
112
- name : Build with `cuda` and `opencl` features enabled
76
113
run : cargo build --workspace --features cuda,opencl
77
114
- name : Build with `cuda-supraseal` feature enabled
78
115
run : CC=gcc-12 CXX=g++-12 NVCC_PREPEND_FLAGS='-ccbin /usr/bin/g++-12' cargo build --workspace --no-default-features --features cuda-supraseal
79
116
80
- test_gpu :
81
- runs-on : self-hosted
82
- name : Test on GPUs
83
- strategy :
84
- matrix :
85
- test-args : ['', '--ignored']
86
- env :
87
- FIL_PROOFS_USE_GPU_COLUMN_BUILDER : true
88
- FIL_PROOFS_USE_GPU_TREE_BUILDER : true
89
- BELLMAN_CUDA_NVCC_ARGS : --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75
90
- NEPTUNE_CUDA_NVCC_ARGS : --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75
91
- steps :
92
- - uses : actions/checkout@v4
93
- - name : Test with CUDA
94
- run : cargo test --verbose --release --workspace --features cuda -- --nocapture ${{ matrix.test-args }} -- --test-threads=1
95
- - name : Test with `cuda-supraseal`
96
- run : CC=gcc-12 CXX=g++-12 NVCC_PREPEND_FLAGS='-ccbin /usr/bin/g++-12' cargo test -p filecoin-proofs --release --no-default-features --features cuda-supraseal -- --nocapture --test-threads=1 ${{ matrix.test-args }}
117
+ # Commented out until we run it on hardware with actual GPUs.
118
+ # test_gpu:
119
+ # runs-on: ubuntu-24.04
120
+ # name: Test on GPUs
121
+ # strategy:
122
+ # matrix:
123
+ # test-args: ['', '--ignored']
124
+ # env:
125
+ # FIL_PROOFS_USE_GPU_COLUMN_BUILDER: true
126
+ # FIL_PROOFS_USE_GPU_TREE_BUILDER: true
127
+ # BELLMAN_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75
128
+ # NEPTUNE_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75
129
+ # steps:
130
+ # - uses: actions/checkout@v4
131
+ # - name: Install required packages
132
+ # run: sudo apt install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev
133
+ #
134
+ # - name: Download the proof params
135
+ # uses: ./.github/actions/proof-params-download
136
+ # with:
137
+ # github-token: ${{ secrets.GITHUB_TOKEN }}
138
+ #
139
+ # - name: Test with CUDA
140
+ # run: cargo test --verbose --release --workspace --features cuda -- --nocapture ${{ matrix.test-args }}
141
+ # - name: Test with `cuda-supraseal`
142
+ # run: CC=gcc-12 CXX=g++-12 NVCC_PREPEND_FLAGS='-ccbin /usr/bin/g++-12' cargo test -p filecoin-proofs --release --no-default-features --features cuda-supraseal -- --nocapture --test-threads=1 ${{ matrix.test-args }}
97
143
98
144
test_macos :
99
145
runs-on : macos-latest
0 commit comments