feat: make common_prefix a public API #138
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
name: PR | |
on: [pull_request] | |
env: | |
# Run all cargo commands with --verbose. | |
CARGO_TERM_VERBOSE: true | |
RUST_BACKTRACE: 1 | |
# Deny all compiler warnings. | |
RUSTFLAGS: "-D warnings" | |
jobs: | |
clippy: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
name: clippy & fmt checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
# Cache. | |
- name: Cargo cache registry, index and build | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }} | |
# Check if the code is formatted correctly. | |
- name: Check formatting | |
run: cargo fmt --all -- --check | |
# Run Clippy. | |
- name: Clippy checks | |
run: cargo clippy --all-targets --all-features | |
coverage: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
name: Code coverage check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# Install Rust and required components | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
# Cache. | |
- name: Cargo cache registry, index and build | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }} | |
# Run cargo tarpaulin & push result to coveralls.io | |
- name: rust-tarpaulin code coverage check | |
uses: actions-rs/[email protected] | |
with: | |
args: '-v --release --out Lcov' | |
- name: Push code coverage results to coveralls.io | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel: true | |
path-to-lcov: ./lcov.info | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
parallel-finished: true | |
cargo-udeps: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
name: Unused dependency check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# Install Rust and required components | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Run cargo-udeps | |
uses: aig787/cargo-udeps-action@v1 | |
with: | |
version: 'latest' | |
args: '--all-targets' | |
cargo-deny: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# wget the shared deny.toml file from the QA repo | |
- shell: bash | |
run: wget https://raw.githubusercontent.com/maidsafe/QA/master/misc-scripts/deny.toml | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
test: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
# Cache. | |
- name: Cargo cache registry, index and build | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
target | |
key: ${{ runner.os }}-cargo-cache-${{ hashFiles('**/Cargo.lock') }} | |
# Run the tests. | |
- name: Cargo test | |
run: cargo test --all-features --release | |
# Test publish using --dry-run. | |
test-publish: | |
if: "!startsWith(github.event.pull_request.title, 'Automated version bump')" | |
name: Test Publish | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# Install Rust | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
# Cargo publish dry run | |
- name: Cargo Publish Dry Run | |
run: cargo publish --dry-run |