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