1818
1919jobs :
2020 check_clippy :
21- runs-on : self-hosted
21+ runs-on : ubuntu-24.04
2222 name : Clippy
2323 steps :
2424 - uses : actions/checkout@v4
25+ - name : Install required packages
26+ run : sudo apt install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev
2527 - name : Run cargo clippy
2628 run : cargo clippy --all-targets --workspace -- -D warnings
2729
2830 check_fmt :
29- runs-on : self-hosted
31+ runs-on : ubuntu-24.04
3032 name : Checking fmt
3133 steps :
3234 - uses : actions/checkout@v4
3335 - name : Run cargo fmt
3436 run : cargo fmt --all -- --check
3537
3638 test_release :
37- runs-on : self-hosted
39+ runs-on : ubuntu-24.04
3840 name : Test in release mode
3941 strategy :
4042 matrix :
@@ -44,56 +46,96 @@ jobs:
4446 FIL_PROOFS_USE_MULTICORE_SDR : true
4547 steps :
4648 - 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+
4757 - name : Run usual tests in release profile
4858 run : cargo test --verbose --release --workspace --all-targets ${{ matrix.cargo-args }} -- --nocapture
4959 - 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
5163 - 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
5367
5468 test_ignored_release :
55- runs-on : self-hosted
69+ runs-on : ubuntu-24.04
5670 name : Test ignored in release mode
5771 steps :
5872 - 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+
5981 - name : Test ignored in release profile
6082 run : cargo test --release --workspace -- ignored --nocapture
6183
6284 test_no_default_features :
63- runs-on : self-hosted
85+ runs-on : ubuntu-24.04
6486 name : Test without default features
6587 steps :
6688 - 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+
6797 - name : Test ignored in release profile
6898 run : cargo test --release --workspace --no-default-features
6999
70100 build_gpu :
71- runs-on : self-hosted
101+ runs-on : ubuntu-24.04
72102 name : Build with various GPU support enabled
73103 steps :
74104 - 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+
75108 - name : Build with `cuda` and `opencl` features enabled
76109 run : cargo build --workspace --features cuda,opencl
77110 - name : Build with `cuda-supraseal` feature enabled
78111 run : CC=gcc-12 CXX=g++-12 NVCC_PREPEND_FLAGS='-ccbin /usr/bin/g++-12' cargo build --workspace --no-default-features --features cuda-supraseal
79112
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 }}
97139
98140 test_macos :
99141 runs-on : macos-latest
0 commit comments