Skip to content

feat(adkg/acss): distribute both feldman & pedersen shares #858

feat(adkg/acss): distribute both feldman & pedersen shares

feat(adkg/acss): distribute both feldman & pedersen shares #858

name: rust-build-and-tests
on:
push:
branches: [main]
# Don't run on release tags since they're built in build-all-binaries
tags-ignore:
- 'v[0-9]+.[0-9]+.[0-9]+*'
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}-dcipher
cancel-in-progress: true
env:
SCCACHE_CACHE_SIZE: "10G"
SCCACHE_GCS_BUCKET: "randamu-gha-cache-bucket"
SCCACHE_GCS_KEY_PATH: /tmp/gcp-secret.json
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GCP_SCCACHE_SERVICE_ACCOUNT }}
SCCACHE_GCS_KEY_PREFIX: sccache_dcipher
SCCACHE_GCS_RW_MODE: READ_WRITE
CARGO_TERM_COLOR: always
jobs:
rust-tests:
name: Test rust crates
runs-on: ["randamu-self-hosted-default"]
env:
RUSTC_WRAPPER: "sccache"
steps:
- name: setup secrets for sccache
run: echo $GOOGLE_APPLICATION_CREDENTIALS > $SCCACHE_GCS_KEY_PATH
- name: Install sccache
uses: mozilla-actions/[email protected]
# Pull cargo nextest binaries
- uses: taiki-e/install-action@v2
with:
tool: nextest
- name: Checkout code
uses: actions/checkout@v5
with:
submodules: 'recursive'
- name: Run all tests
run: cargo nextest run --target-dir './target' --no-tests warn --profile ci
shell: bash
env:
TESTNETS_PRIVATE_KEY: ${{ secrets.TESTNETS_PRIVATE_KEY }}
POLYGON_RPC_URL: ${{ secrets.POLYGON_RPC_URL }}
BASE_SEPOLIA_RPC_URL: ${{ secrets.BASE_SEPOLIA_RPC_URL }}
AVALANCHE_FUJI_RPC_URL: ${{ secrets.AVALANCHE_FUJI_RPC_URL }}
rust-clippy:
name: Run clippy
runs-on: ["randamu-self-hosted-default"]
env:
RUSTC_WRAPPER: "sccache"
RUSTFLAGS: -Dwarnings
RUSTDOCFLAGS: -Dwarnings
steps:
- name: setup secrets for sccache
run: echo $GOOGLE_APPLICATION_CREDENTIALS > $SCCACHE_GCS_KEY_PATH
- name: Install sccache
uses: mozilla-actions/[email protected]
# Pull cargo nextest binaries
- uses: taiki-e/install-action@v2
with:
tool: cargo-hack
- name: Checkout code
uses: actions/checkout@v5
with:
submodules: 'recursive'
- name: Check formatting
run: cargo fmt --check
shell: bash
- name: clippy check (all features)
run: cargo clippy --workspace --all-features --all-targets --lib --bins --tests --benches --examples
- name: clippy check (no features)
run: cargo clippy --workspace --no-default-features --all-targets --lib --bins --tests --benches --examples
- name: clippy check (default features)
run: cargo clippy --workspace --all-targets --lib --bins --tests --benches --examples
- name: clippy for each only on main
if: github.ref == 'refs/heads/main'
run: cargo hack clippy --workspace --exclude generated --each-feature --all-targets --target-dir './target'
shell: bash