Set up CI
This commit is contained in:
parent
a1194fe800
commit
283830bdf4
|
@ -0,0 +1,10 @@
|
|||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
timezone: Etc/UTC
|
||||
open-pull-requests-limit: 10
|
||||
labels:
|
||||
- "A-CI"
|
|
@ -0,0 +1,88 @@
|
|||
name: CI checks
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test on ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run tests
|
||||
run: cargo test --all-features --verbose --release
|
||||
- name: Verify working directory is clean
|
||||
run: git diff --exit-code
|
||||
|
||||
build-latest:
|
||||
name: Latest build on ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
id: toolchain
|
||||
- run: rustup override set ${{steps.toolchain.outputs.name}}
|
||||
- name: Remove lockfile to build with latest dependencies
|
||||
run: rm Cargo.lock
|
||||
- name: Build crate
|
||||
run: cargo build --all-targets --all-features --verbose
|
||||
- name: Verify working directory is clean (excluding lockfile)
|
||||
run: git diff --exit-code ':!Cargo.lock'
|
||||
|
||||
build-nodefault:
|
||||
name: Build target ${{ matrix.target }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
target:
|
||||
- wasm32-wasi
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Add target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
- name: Build crate
|
||||
run: cargo build --no-default-features --verbose --target ${{ matrix.target }}
|
||||
|
||||
bitrot:
|
||||
name: Bitrot check
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# Build benchmarks to prevent bitrot
|
||||
- name: Build benchmarks
|
||||
run: cargo build --all --benches
|
||||
|
||||
clippy:
|
||||
name: Clippy (MSRV)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run Clippy
|
||||
uses: auguwu/clippy-action@1.3.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
working-directory: ${{ inputs.target }}
|
||||
deny: warnings
|
||||
|
||||
doc-links:
|
||||
name: Intra-doc links
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cargo fetch
|
||||
# Requires #![deny(rustdoc::broken_intra_doc_links)] in crate.
|
||||
- name: Check intra-doc links
|
||||
run: cargo doc --all-features --document-private-items
|
||||
|
||||
fmt:
|
||||
name: Rustfmt
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check formatting
|
||||
run: cargo fmt -- --check
|
|
@ -1,3 +1,2 @@
|
|||
/target/
|
||||
**/*.rs.bk
|
||||
Cargo.lock
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
[toolchain]
|
||||
channel = "1.65.0"
|
||||
components = ["clippy", "rustfmt"]
|
|
@ -1,5 +1,8 @@
|
|||
//! Structs and constants specific to the Sapling shielded pool.
|
||||
|
||||
// Catch documentation errors caused by code changes.
|
||||
#![deny(rustdoc::broken_intra_doc_links)]
|
||||
|
||||
mod address;
|
||||
pub mod builder;
|
||||
pub mod bundle;
|
||||
|
|
Loading…
Reference in New Issue