feat: zk light client #106
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# See workflow runs at https://github.com/nextest-rs/reuse-build-partition-example/actions/workflows/ci.yml. | |
name: "Check PR is ready for merge" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
branches: | |
- master | |
# schedule: | |
# # Run this every day at 01:00 UTC. | |
# - cron: 0 1 * * * | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
lint: | |
name: "Lint" | |
runs-on: | |
group: ubuntu-22.04-8core | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: actions-rust-lang/[email protected] | |
with: | |
cache-workspaces: |- | |
. | |
- uses: actions-rust-lang/rustfmt@v1 | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
build-test-artifacts: | |
name: Build test artifacts | |
runs-on: ubuntu-20.04-16core | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
# By default actions/checkout checks out a merge commit. Check out the PR head instead. | |
# https://github.com/actions/checkout#checkout-pull-request-head-commit-instead-of-merge-commit | |
ref: ${{ github.event.pull_request.head.sha }} | |
- uses: actions-rust-lang/[email protected] | |
with: | |
cache-workspaces: |- | |
. | |
- name: "Install cargo-nextest" | |
run: cargo install cargo-nextest | |
- name: Build and archive tests | |
run: cargo nextest archive -r --workspace --archive-file nextest-archive.tar.zst --locked | |
- name: Upload archive to workflow | |
uses: actions/upload-artifact@v3 | |
with: | |
name: nextest-archive | |
path: nextest-archive.tar.zst | |
test-rust: | |
name: "Test Rust" | |
runs-on: | |
group: ubuntu-22.04-8core | |
needs: build-test-artifacts | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: actions-rust-lang/[email protected] | |
with: | |
cache-workspaces: |- | |
. | |
- name: "Install cargo-nextest" | |
run: cargo install cargo-nextest | |
- name: Download archive | |
uses: actions/download-artifact@v3 | |
with: | |
name: nextest-archive | |
- name: "Run normal tests" | |
run: | | |
cargo nextest run \ | |
--archive-file nextest-archive.tar.zst \ | |
--no-fail-fast | |
run-tests-partitioned: | |
name: "Run Beefy tests partitioned" | |
needs: build-test-artifacts | |
strategy: | |
matrix: | |
os: [ubuntu-22.04-32core, ubuntu-20.04-32core] | |
include: | |
- os: ubuntu-22.04-32core | |
share: 1 | |
- os: ubuntu-20.04-32core | |
share: 2 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- uses: actions-rust-lang/[email protected] | |
with: | |
cache-workspaces: |- | |
. | |
- name: "Install cargo-nextest" | |
run: cargo install cargo-nextest | |
- name: Download archive | |
uses: actions/download-artifact@v3 | |
with: | |
name: nextest-archive | |
- name: Run tests | |
run: | | |
cargo nextest run \ | |
--run-ignored ignored-only \ | |
--archive-file nextest-archive.tar.zst \ | |
--partition count:${{ matrix.share }}/2 | |
test-solidity-contracts: | |
name: "Test Solidity Contracts" | |
runs-on: | |
group: ubuntu-22.04-16core | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions-rust-lang/[email protected] | |
with: | |
cache-workspaces: |- | |
. | |
- name: "Install Foundry" | |
uses: taiki-e/cache-cargo-install-action@v1 | |
with: | |
git: https://github.com/foundry-rs/foundry | |
tool: forge | |
rev: 6ee3e88d2a48c7df48c85986e67f73cd2e6403d8 | |
- name: "Forge install" | |
run: cd nearx/contract && forge install | |
- name: "Run tests" | |
run: cd nearx/contract && forge test -vv | |