Update MSRV to 1.60

The transitive dependency we have on `unarray` is forcing this update.
Also, update CI actions to eliminate dependencies on the unmaintained
`actions-rs` Rust CI tools.
This commit is contained in:
Kris Nuttycombe 2023-02-16 10:28:54 -07:00
parent da9ab5a71d
commit dff6be7221
6 changed files with 30 additions and 67 deletions

View File

@ -9,71 +9,37 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macOS-latest] os: [ubuntu-latest, windows-latest, macOS-latest]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.56.1
override: true
- name: Run tests - name: Run tests
uses: actions-rs/cargo@v1 run: cargo test --all-features --verbose --release --all
with: - name: Verify working directory is clean
command: test run: git diff --exit-code
args: --verbose
bitrot: bitrot:
name: Bitrot check name: Bitrot check
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.56.1
override: true
# Build benchmarks to prevent bitrot # Build benchmarks to prevent bitrot
- name: Build benchmarks - name: Build benchmarks
uses: actions-rs/cargo@v1 run: cargo build --all --benches
with:
command: build
args: --benches
doc-links: doc-links:
name: Intra-doc links name: Intra-doc links
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - run: cargo fetch
with: # Requires #![deny(rustdoc::broken_intra_doc_links)] in crates.
toolchain: 1.56.1
override: true
- name: cargo fetch
uses: actions-rs/cargo@v1
with:
command: fetch
# Ensure intra-documentation links all resolve correctly
# Requires #![deny(intra_doc_link_resolution_failure)] in crates.
- name: Check intra-doc links - name: Check intra-doc links
uses: actions-rs/cargo@v1 run: cargo doc --all --document-private-items
with:
command: doc
args: --document-private-items
fmt: fmt:
name: Rustfmt name: Rustfmt
timeout-minutes: 30 timeout-minutes: 30
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - name: Check formatting
with: run: cargo fmt --all -- --check
toolchain: 1.56.1
override: true
- run: rustup component add rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: -- --check

View File

@ -10,17 +10,14 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: dtolnay/rust-toolchain@beta
with: id: toolchain
toolchain: beta - run: rustup override set ${{steps.toolchain.outputs.name}}
components: clippy
override: true
- name: Run Clippy (beta) - name: Run Clippy (beta)
uses: actions-rs/clippy-check@v1 uses: actions-rs/clippy-check@v1
continue-on-error: true continue-on-error: true
with: with:
name: Clippy (beta) name: Clippy (beta)
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features --all-targets args: --all-features --all-targets -- -W clippy::all

View File

@ -5,19 +5,14 @@ on: pull_request
jobs: jobs:
clippy: clippy:
name: Clippy (1.56.1) name: Clippy (MSRV)
timeout-minutes: 30 timeout-minutes: 30
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - name: Run clippy
with:
toolchain: 1.56.1
components: clippy
override: true
- name: Run Clippy
uses: actions-rs/clippy-check@v1 uses: actions-rs/clippy-check@v1
with: with:
name: Clippy (1.56.1) name: Clippy (MSRV)
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features --all-targets -- -D warnings args: --all-features --all-targets -- -D warnings

View File

@ -5,12 +5,13 @@ authors = [
"Kris Nuttycombe <kris@nutty.land>", "Kris Nuttycombe <kris@nutty.land>",
"Sean Bowe <ewillbefull@gmail.com>", "Sean Bowe <ewillbefull@gmail.com>",
] ]
edition = "2018" edition = "2021"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
description = "A space-efficient Merkle tree designed for linear appends with witnessing of marked leaves, checkpointing & state restoration." description = "A space-efficient Merkle tree designed for linear appends with witnessing of marked leaves, checkpointing & state restoration."
homepage = "https://github.com/zcash/incrementalmerkletree" homepage = "https://github.com/zcash/incrementalmerkletree"
repository = "https://github.com/zcash/incrementalmerkletree" repository = "https://github.com/zcash/incrementalmerkletree"
categories = ["algorithms", "data-structures"] categories = ["algorithms", "data-structures"]
rust-version = "1.60"
[dependencies] [dependencies]
incrementalmerkletree = { version = "0.3", path = "../incrementalmerkletree" } incrementalmerkletree = { version = "0.3", path = "../incrementalmerkletree" }

View File

@ -1,16 +1,17 @@
[package] [package]
name = "incrementalmerkletree" name = "incrementalmerkletree"
description = "Common types, interfaces, and utilities for Merkle tree data structures"
version = "0.3.0" version = "0.3.0"
authors = [ authors = [
"Sean Bowe <ewillbefull@gmail.com>", "Sean Bowe <ewillbefull@gmail.com>",
"Kris Nuttycombe <kris@nutty.land>", "Kris Nuttycombe <kris@nutty.land>",
] ]
edition = "2018" edition = "2021"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
description = "Common types, interfaces, and utilities for Merkle tree data structures"
homepage = "https://github.com/zcash/incrementalmerkletree" homepage = "https://github.com/zcash/incrementalmerkletree"
repository = "https://github.com/zcash/incrementalmerkletree" repository = "https://github.com/zcash/incrementalmerkletree"
categories = ["algorithms", "data-structures"] categories = ["algorithms", "data-structures"]
rust-version = "1.60"
[dependencies] [dependencies]
either = "1.8" either = "1.8"

3
rust-toolchain.toml Normal file
View File

@ -0,0 +1,3 @@
[toolchain]
channel = "1.60.0"
components = [ "clippy", "rustfmt" ]