Skip to content

chore: get run-id dynamically #47

chore: get run-id dynamically

chore: get run-id dynamically #47

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, 16384, 32768]
#
# 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
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: dawidd6/action-download-artifact@v6
# with:
# workflow: proof-params.yml
# 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: Move all artifacts from sub directories into the main one
# run: 'mv /var/tmp/filecoin-proof-parameters/*/* /var/tmp/filecoin-proof-parameters/'
#- name: Remove sub directories
# run: 'rmdir /var/tmp/filecoin-proof-parameters/* || true'
#- name: Display structure of downloaded files
# run: ls -lR /var/tmp/filecoin-proof-parameters/
- name: Get run-id from latest proof-params workflow run
uses: octokit/[email protected]
id: latest-proof-params
with:
route: GET /repos/filecoin-project/rust-fil-proofs/actions/workflows/proof-params.yml/runs?per_page=1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download all Artifacts from proof-params workflow
uses: actions/download-artifact@v4
with:
pattern: proof-params-v28-n-${{ hashFiles('filecoin-proofs/parameters.json') }}-*
path: /var/tmp/filecoin-proof-parameters/
merge-multiple: true
run-id: ${{ fromJson(steps.latest-proof-params.outputs.data).workflow_runs[0].id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: List parameter files
run: ls -al /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