diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 52903088..d2f2e40d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,11 +42,17 @@ env: BELLMAN_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75 NEPTUNE_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75 DEBIAN_FRONTEND: noninteractive + # Standardize NVCC flags across all jobs + NVCC_PREPEND_FLAGS: "-ccbin /usr/bin/g++-12" jobs: check: name: Check code style and run linters runs-on: ubuntu-latest + env: + CC: gcc-12 + CXX: g++-12 + NVCC_PREPEND_FLAGS: "-ccbin /usr/bin/g++-12 -allow-unsupported-compiler" steps: - uses: actions/checkout@v4 with: @@ -57,6 +63,10 @@ jobs: with: submodules: recursive ref: ${{ github.event.inputs.ref }} + - name: Install GCC 12 + run: | + sudo apt-get update + sudo apt-get install -y gcc-12 g++-12 - name: Run shellcheck run: shellcheck ./install-filcrypto - name: Run cargo fmt @@ -100,6 +110,14 @@ jobs: with: submodules: recursive ref: ${{ github.event.inputs.ref }} + - if: runner.os == 'Linux' + name: Install GCC 12 and set environment + run: | + sudo apt-get update + sudo apt-get install -y gcc-12 g++-12 + echo "CC=gcc-12" >> $GITHUB_ENV + echo "CXX=g++-12" >> $GITHUB_ENV + echo "NVCC_PREPEND_FLAGS=-ccbin /usr/bin/g++-12 -allow-unsupported-compiler" >> $GITHUB_ENV - if: runner.os == 'macOS' run: cd rust && cargo fetch - name: Build project @@ -142,7 +160,6 @@ jobs: env: CC: gcc-12 CXX: g++-12 - NVCC_PREPEND_FLAGS: "-ccbin /usr/bin/g++-12" steps: - uses: actions/checkout@v4 with: @@ -153,5 +170,9 @@ jobs: with: submodules: recursive ref: ${{ github.event.inputs.ref }} + - name: Install GCC 12 + run: | + sudo apt-get update + sudo apt-get install -y gcc-12 g++-12 - name: Build project with `FFI_USE_CUDA_SUPRASEAL=1` run: FFI_BUILD_FROM_SOURCE=1 FFI_USE_CUDA_SUPRASEAL=1 make diff --git a/rust/Cargo.lock b/rust/Cargo.lock index cbad7815..4b080183 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1269,6 +1269,7 @@ dependencies = [ "safer-ffi", "serde", "serde_json", + "supraseal-c2", "tempfile", "yastl", ] @@ -3343,9 +3344,9 @@ dependencies = [ [[package]] name = "sppark" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16bf457036c0a778140ce4c3bcf9ff30c5c70a9d9c0bb04fe513af025b647b2c" +checksum = "d9c900139f3f6fdc8db217881a946adf00e935102fdd82b0e1bc19bacbffa311" dependencies = [ "cc", "which", @@ -3661,9 +3662,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "supraseal-c2" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd636fe8d238305b3022c399f9973c88f58d75212ef36d2ff1ebd51e20285d5b" +version = "0.1.2" dependencies = [ "blst", "cc", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 421fd9b4..56fe06de 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -33,8 +33,8 @@ rayon = "1.10.0" anyhow = "1.0.97" serde_json = "1.0.140" rust-gpu-tools = { version = "0.7", optional = true, default-features = false } -fvm4 = { package = "fvm", version = "~4.7.4", default-features = false, features = ["verify-signature", "nv28-dev"] } -fvm4_shared = { package = "fvm_shared", version = "~4.7.4" } +fvm4 = { package = "fvm", version = "~4.7.3", default-features = false, features = ["verify-signature"] } +fvm4_shared = { package = "fvm_shared", version = "~4.7.3" } fvm3 = { package = "fvm", version = "~3.13.0", default-features = false } fvm3_shared = { package = "fvm_shared", version = "~3.13.0" } fvm2 = { package = "fvm", version = "~2.11.0", default-features = false } @@ -48,6 +48,7 @@ serde = "1.0.219" safer-ffi = { version = "0.1.13", features = ["proc_macros"] } filecoin-proofs-api = { version = "19.0", default-features = false } yastl = "0.1.2" +supraseal-c2 = "0.1.2" [dev-dependencies] memmap2 = "0.9"