Skip to content

chore: use run-id

chore: use run-id #21

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 }}
run: mkdir -p /var/tmp/filecoin-proof-parameters/ && touch /var/tmp/filecoin-proof-parameters/${{ matrix.size }}.params
#- 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') }}
- name: Upload proof parameters as artifact
uses: actions/upload-artifact@v4
with:
name: proof-params-v28-n-${{ hashFiles('filecoin-proofs/parameters.json') }}-${{ matrix.size }}
path: /var/tmp/filecoin-proof-parameters/
compression-level: 0
if-no-files-found: error
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-2048
# 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: Get proof parameters 2KiB
# 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
# run: ls -al /var/tmp/filecoin-proof-parameters/
#
#- name: Restore proof parameters cache 4KiB
# id: cache-parameters-4096
# 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: Get proof parameters
uses: actions/download-artifact@v4
with:
name: proof-params-v28-n-${{ hashFiles('filecoin-proofs/parameters.json') }}
pattern: proof-params-v28-n-${{ hashFiles('filecoin-proofs/parameters.json') }}-*
path: /var/tmp/filecoin-proof-parameters/
merge-multiple: true
#github-token: ${{ github.token }}
#repository: ${{ github.action_repository }}
#run-id: ${{ github.event.workflow_run.id }}
#github-token: ${{ secrets.GITHUB_TOKEN }}
#github-token: ${{ github.token }}
run-id: ${{ github.event.workflow_run.id }}
- name: Display structure of downloaded files
run: ls -lR /var/tmp/filecoin-proof-parameters/
#- name: Test in release profile
# #if: steps.cache-parameters-2048.outputs.cache-hit == 'true' && steps.cache-parameters-4096.outputs.cache-hit == 'true'
# 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
upload:
strategy:
matrix:
runs-on: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.runs-on }}
steps:
- name: Create a File
run: echo "hello from ${{ matrix.runs-on }}" > file-${{ matrix.runs-on }}.txt
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: my-artifact-${{ matrix.runs-on }}
path: file-${{ matrix.runs-on }}.txt
download:
needs: upload
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: my-artifact
pattern: my-artifact-*
merge-multiple: true
#repository: ${{ github.action_repository }}
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
#github-token: ${{ github.token }}
- run: ls -R my-artifact