Skip to content

rustfmt

rustfmt #207

Workflow file for this run

on:
workflow_dispatch:
push:
branches:
- master
tags-ignore:
- "*"
pull_request:
branches:
- "*"
schedule:
# * is a special character in YAML so you have to quote this string
- cron: "13 3 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
name: 🦀 Rust 🦀
jobs:
rustfmt:
name: 📌 Formatting 📌
runs-on: ubuntu-latest
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: ⭕ Rustfmt Check ⭕
run: cargo fmt --all -- --check
lints-linux:
name: 🕳️ Lints Linux 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo update
cargo clippy --all-targets --all-features -- -D warnings
lints-macos:
name: 🕳️ Lints MacOS 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo update
cargo clippy --all-targets --all-features -- -D warnings
lints-windows:
name: 🕳️ Lints Windows 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo update
cargo clippy --all-targets --all-features -- -D warnings
test-linux:
name: 🧪 Linux 🧪
needs: lints-linux
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
rust: "1.67.0"
target: i686-unknown-linux-gnu
- os: ubuntu-latest
rust: stable
target: i686-unknown-linux-gnu
- os: ubuntu-latest
rust: "1.67.0"
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: beta
target: i686-unknown-linux-gnu
- os: ubuntu-latest
rust: beta
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: nightly
target: i686-unknown-linux-gnu
- os: ubuntu-latest
rust: nightly
target: x86_64-unknown-linux-gnu
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
uses: cargo-bins/cargo-binstall@main
- name: 💾 Install (cargo-tarpaulin) 💾
continue-on-error: true
run: cargo binstall --no-confirm --no-symlinks cargo-tarpaulin
- name: 💾 Install (all-features) 💾
continue-on-error: true
run: cargo binstall --no-confirm --no-symlinks cargo-all-features
- name: 🧪 Test 🧪
env:
BB8_MONGODB_URL: ${{ secrets.BB8_MONGODB_URL }}
BB8_MONGODB_USER: ${{ secrets.BB8_MONGODB_USER }}
BB8_MONGODB_PASSWORD: ${{ secrets.BB8_MONGODB_PASSWORD }}
run: cargo test-all-features
- name: 🙊 Code Coverage 🙊
run: cargo tarpaulin --out Xml
env:
BB8_MONGODB_URL: ${{ secrets.BB8_MONGODB_URL }}
BB8_MONGODB_USER: ${{ secrets.BB8_MONGODB_USER }}
BB8_MONGODB_PASSWORD: ${{ secrets.BB8_MONGODB_PASSWORD }}
- name: 🙊 Upload Code Coverage 🙊
uses: codecov/codecov-action@v4-beta
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: ./cobertura.xml
test-macos:
name: 🧪 MacOS 🧪
needs: lints-macos
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
rust: "1.67.0"
target: x86_64-apple-darwin
- os: macos-latest
rust: stable
target: x86_64-apple-darwin
- os: macos-latest
rust: "1.67.0"
target: x86_64-apple-ios
- os: macos-latest
rust: stable
target: x86_64-apple-ios
- os: macos-latest
rust: beta
target: x86_64-apple-darwin
- os: macos-latest
rust: beta
target: x86_64-apple-ios
- os: macos-latest
rust: nightly
target: x86_64-apple-darwin
- os: macos-latest
rust: nightly
target: x86_64-apple-ios
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
uses: cargo-bins/cargo-binstall@main
- name: 💾 Install (all-features) 💾
continue-on-error: true
run: cargo binstall --no-confirm --no-symlinks cargo-all-features
- name: 🧪 Test 🧪
env:
BB8_MONGODB_URL: ${{ secrets.BB8_MONGODB_URL }}
BB8_MONGODB_USER: ${{ secrets.BB8_MONGODB_USER }}
BB8_MONGODB_PASSWORD: ${{ secrets.BB8_MONGODB_PASSWORD }}
run: cargo test-all-features
test-windows:
name: 🧪 Windows 🧪
needs: lints-windows
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
rust: 1.67.0-msvc
target: i686-pc-windows-msvc
- os: windows-latest
rust: stable-msvc
target: i686-pc-windows-msvc
- os: windows-latest
rust: 1.67.0-msvc
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: stable-msvc
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: beta-msvc
target: i686-pc-windows-msvc
- os: windows-latest
rust: beta-msvc
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: nightly-msvc
target: i686-pc-windows-msvc
- os: windows-latest
rust: nightly-msvc
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: 1.67.0-gnu
target: i686-pc-windows-gnu
- os: windows-latest
rust: stable-gnu
target: i686-pc-windows-gnu
- os: windows-latest
rust: 1.67.0-gnu
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: stable-gnu
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: beta-gnu
target: i686-pc-windows-gnu
- os: windows-latest
rust: beta-gnu
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: nightly-gnu
target: i686-pc-windows-gnu
- os: windows-latest
rust: nightly-gnu
target: x86_64-pc-windows-gnu
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v4
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
uses: cargo-bins/cargo-binstall@main
- name: 💾 Install (all-features) 💾
continue-on-error: true
run: cargo binstall --no-confirm --no-symlinks cargo-all-features
- name: 🧪 Test 🧪
env:
BB8_MONGODB_URL: ${{ secrets.BB8_MONGODB_URL }}
BB8_MONGODB_USER: ${{ secrets.BB8_MONGODB_USER }}
BB8_MONGODB_PASSWORD: ${{ secrets.BB8_MONGODB_PASSWORD }}
run: cargo test-all-features