code: Add docs and deprecation notices #590
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: Rust | |
on: | |
push: | |
branches: [master, dev] | |
pull_request: | |
branches: [master, dev] | |
jobs: | |
format: | |
name: cargo fmt (nightly) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
profile: minimal | |
- name: Format | |
run: cargo fmt -- --check | |
clippy: | |
name: clippy (stable) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache ~/.cargo | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-clippy-dotcargo | |
- name: Cache cargo build | |
uses: actions/cache@v1 | |
with: | |
path: target | |
key: ${{ runner.os }}-clippy-cargo-build-target | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: clippy | |
override: true | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
name: clippy results | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
rust: | |
- 1.75 # MSRV (also change in Cargo.toml) | |
- stable | |
- nightly | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
target: wasm32-unknown-unknown | |
- name: Cache ~/.cargo | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-test-dotcargo-${{ matrix.rust }} | |
- name: Cache cargo build | |
uses: actions/cache@v1 | |
with: | |
path: target | |
key: ${{ runner.os }}-test-build-target-${{ matrix.rust }} | |
- name: build library (no default features) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: -p magic-wormhole --no-default-features | |
- name: build library (features=transit) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: -p magic-wormhole --no-default-features --features=transit | |
- name: build library (features=transfer) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: -p magic-wormhole --no-default-features --features=transfer | |
- name: build library (features=forwarding) | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: -p magic-wormhole --no-default-features --features=forwarding | |
- name: build CLI | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --all-targets | |
- name: build WASM | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target wasm32-unknown-unknown --no-default-features --package magic-wormhole --features transit --features transfer | |
- name: test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --verbose --workspace --features=all,native-tls,experimental | |
dist: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Cache ~/.cargo | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-test-dotcargo-stable | |
- name: Cache cargo build | |
uses: actions/cache@v1 | |
with: | |
path: target | |
key: ${{ runner.os }}-test-build-target-stable | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --bins --locked --release | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wormhole-${{ matrix.os }}-${{ github.sha }} | |
path: | | |
./target/release/wormhole-rs | |
./target/release/wormhole-rs.exe | |
if-no-files-found: error | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- uses: actions-rs/[email protected] | |
with: | |
crate: cargo-tarpaulin | |
version: latest | |
- name: Cache ~/.cargo | |
uses: actions/cache@v1 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-coverage-dotcargo | |
- name: Cache cargo build | |
uses: actions/cache@v1 | |
with: | |
path: target | |
key: ${{ runner.os }}-coverage-cargo-build-target | |
- name: Run tarpaulin | |
uses: actions-rs/cargo@v1 | |
with: | |
command: tarpaulin | |
args: --workspace --out Xml | |
- name: upload coverage | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
cargo-deny: | |
name: Cargo deny | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Rust toolcnain | |
uses: actions/checkout@v2 | |
with: | |
toolchain: stable | |
override: true | |
- uses: EmbarkStudios/cargo-deny-action@v1 |