This repository has been archived by the owner on Jun 24, 2024. It is now read-only.
Move Sovereign-specific code from Hermes SDK repository #444
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
name: Rust | |
on: | |
pull_request: | |
paths: | |
- .github/workflows/rust.yml | |
- Cargo.toml | |
- Cargo.lock | |
- clients/** | |
- modules/** | |
- mocks/** | |
push: | |
branches: main | |
paths: | |
- .github/workflows/rust.yml | |
- Cargo.toml | |
- Cargo.lock | |
- clients/** | |
- modules/** | |
- mocks/** | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_PROFILE_DEV_DEBUG: 1 | |
CARGO_PROFILE_RELEASE_DEBUG: 1 | |
RUST_BACKTRACE: short | |
CARGO_NET_RETRY: 10 | |
RUSTUP_MAX_RETRIES: 10 | |
MSRV: 1.77 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main' }} | |
jobs: | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: nightly # Since fmt uses unstable features for organizing imports | |
components: rustfmt | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
check-msrv: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Git credentials for private repo | |
run: | | |
git config --global --replace-all \ | |
"url.https://${{ secrets.AUTH_TOKEN }}@github.com.insteadOf" \ | |
ssh://[email protected] | |
- uses: arduino/setup-protoc@v3 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: ${{ env.MSRV }} | |
- name: Build with MSRV | |
uses: actions-rs/cargo@v1 | |
with: | |
toolchain: ${{ env.MSRV }} | |
command: build | |
args: --all-features --release | |
doc-all-features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Git credentials for private repo | |
run: | | |
git config --global --replace-all \ | |
"url.https://${{ secrets.AUTH_TOKEN }}@github.com.insteadOf" \ | |
ssh://[email protected] | |
- uses: arduino/setup-protoc@v3 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --all-features --no-deps --release | |
clippy-all-features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Git credentials for private repo | |
run: | | |
git config --global --replace-all \ | |
"url.https://${{ secrets.AUTH_TOKEN }}@github.com.insteadOf" \ | |
ssh://[email protected] | |
- uses: arduino/setup-protoc@v3 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
components: clippy | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features --all-targets | |
clippy-no-default-features: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Git credentials for private repo | |
run: | | |
git config --global --replace-all \ | |
"url.https://${{ secrets.AUTH_TOKEN }}@github.com.insteadOf" \ | |
ssh://[email protected] | |
- uses: arduino/setup-protoc@v3 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
components: clippy | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --no-default-features | |
test-stable: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Git credentials for private repo | |
run: | | |
git config --global --replace-all \ | |
"url.https://${{ secrets.AUTH_TOKEN }}@github.com.insteadOf" \ | |
ssh://[email protected] | |
- uses: arduino/setup-protoc@v3 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features --no-fail-fast --no-run | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features --no-fail-fast --workspace -- --nocapture --exclude hermes-sovereign-integration-tests |