Skip to content

chore: try to build caches in parallel #9

chore: try to build caches in parallel

chore: try to build caches in parallel #9

Workflow file for this run

name: CI
on: [pull_request, push]
# Cancel a job if there's a new on on the same branch started.
# Based on https://stackoverflow.com/questions/58895283/stop-already-running-workflow-job-in-github-actions/67223051#67223051
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
# Faster crates.io index checkout.
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
jobs:
set-msrv:
runs-on: ubuntu-latest
outputs:
msrv: ${{ steps.msrv.outputs.MSRV }}
steps:
- uses: actions/checkout@v4
- name: Get MSRV from rust-toolchain
id: msrv
run: |
MSRV=$(cat ./rust-toolchain)
echo "MSRV=$MSRV" | tee --append "$GITHUB_OUTPUT"
#check_clippy:
# needs: set-msrv
# runs-on: ubuntu-latest
# name: Clippy
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@master
# with:
# toolchain: ${{ needs.set-msrv.outputs.msrv }}
# components: clippy
# - name: Install required packages
# run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
# - name: Run cargo clippy
# run: cargo clippy --all-targets --workspace -- -D warnings
#
#check_fmt:
# needs: set-msrv
# runs-on: ubuntu-latest
# name: Checking fmt
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@master
# with:
# toolchain: ${{ needs.set-msrv.outputs.msrv }}
# components: rustfmt
# - name: Run cargo fmt
# run: cargo fmt --all -- --check
proof-params:
needs: set-msrv
runs-on: ubuntu-latest
name: Generate proof parameters and cache them
strategy:
matrix:
size: [2048, 4096]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{needs.set-msrv.outputs.msrv}}
- name: Install required packages
run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
- name: Generate proof parameters
run: cargo run --release --no-default-features --bin paramcache -- --sector-sizes=${{ matrix.size }}
- name: Cache proof parameters
id: cache-parameters
uses: actions/cache/save@v4
with:
path: /var/tmp/filecoin-proof-parameters/
key: proof-params-v28-n-${{ matrix.size }}-${{ hashFiles('filecoin-proofs/parameters.json') }}
test_release:
needs: [set-msrv, proof-params]
runs-on: ubuntu-latest
name: Test in release mode
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{needs.set-msrv.outputs.msrv}}
- name: Install required packages
run: sudo apt install --no-install-recommends --yes ocl-icd-opencl-dev libhwloc-dev
#- name: Cache proof parameters
# id: cache-parameters
# uses: actions/cache@v4
# with:
# path: /var/tmp/filecoin-proof-parameters/
# #key: proof-params-v28-n-${{ runner.os }}-${{ hashFiles('filecoin-proofs/parameters.json') }}
# key: proof-params-v28-n-${{ hashFiles('filecoin-proofs/parameters.json') }}
#- name: Generate proof parameters
# if: steps.cache-parameters.outputs.cache-hit != 'true'
# #run: cargo build --release --no-default-features --bin paramcache --sector-sizes='2048,4096,16384,32768'
# run: cargo run --release --no-default-features --bin paramcache -- --sector-sizes='2048'
- name: Restore proof parameters cache 2KiB
id: cache-parameters
uses: actions/cache/restore@v4
with:
path: /var/tmp/filecoin-proof-parameters/
#key: proof-params-v28-n-${{ runner.os }}-${{ hashFiles('filecoin-proofs/parameters.json') }}
key: proof-params-v28-n-2048-${{ hashFiles('filecoin-proofs/parameters.json') }}
- name: List parameter files:

Check failure on line 117 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

You have an error in your yaml syntax on line 117
run: ls -al /var/tmp/filecoin-proof-parameters/
- name: Restore proof parameters cache 4KiB
id: cache-parameters
uses: actions/cache/restore@v4
with:
path: /var/tmp/filecoin-proof-parameters/
key: proof-params-v28-n-4096-${{ hashFiles('filecoin-proofs/parameters.json') }}
- name: List parameter files:
run: ls -al /var/tmp/filecoin-proof-parameters/
- name: Test in release profile
run: cargo test --verbose --release --workspace --all-targets
## Some `storage-proofs-update` tests need to run sequentially due
## to their high memory usage.
#cargo test -p storage-proofs-update --features isolated-testing --release << parameters.cargo-args >> -- --test-threads=1