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