Skip to content

build(deps): bump time from 0.3.41 to 0.3.42 #280

build(deps): bump time from 0.3.41 to 0.3.42

build(deps): bump time from 0.3.41 to 0.3.42 #280

Workflow file for this run

## references:
# cache: https://github.com/actions/cache/blob/main/examples.md#rust---cargo
# audit: https://github.com/actions-rs/audit-check
# "needs": https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds
name: Build
on:
push:
branches: [ '*' ]
paths-ignore:
- "**/docs/**"
- "**.md"
pull_request:
branches: [ main ]
workflow_call:
merge_group:
jobs:
typos:
name: typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@master
with:
config: ./typos.toml
check:
name: check
strategy:
fail-fast: false
matrix:
version: ['ubuntu-latest']
runs-on: ${{ matrix.version }}
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v1
- run: cargo check
lint:
name: lint
needs: check
strategy:
fail-fast: false
matrix:
version: ['ubuntu-latest']
cargo-cmd:
- fmt --all -- --check
- clippy --all-targets --all-features -- -D warnings
runs-on: ${{ matrix.version }}
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v1
- run: cargo ${{ matrix['cargo-cmd'] }}
tests:
name: test
needs: check
strategy:
fail-fast: false
matrix:
version: ['ubuntu-latest']
rust: [ nightly, stable ]
runs-on: ${{ matrix.version }}
continue-on-error: ${{ matrix.rust == 'nightly' }}
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
default: true
profile: minimal
- uses: Swatinem/rust-cache@v1
- name: git test setup preparation
run: |
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
# - name: Install SSH key
# uses: shimataro/ssh-key-action@v2
# with:
# key: ${{ secrets.CI_SSH_PRIVATE_KEY_TESTING }}
# # figured by `ssh-keyscan github.com`
# known_hosts: ${{ secrets.KNOWN_HOSTS }}
# if_key_exists: replace # replace / ignore / fail; optional (defaults to fail)
- name: cargo test
run: cargo test --verbose --all --locked
- name: smoke tests
run: |
cargo run -- --version
cargo run -- --help
coverage:
name: code coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
default: true
profile: minimal
components: clippy, rustfmt
- uses: mozilla-actions/[email protected]
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Generate code coverage
if: ${{ github.event_name != 'pull_request' }}
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
env:
CARGO_GENERATE_E2E_SSH_PRIVATE_KEY: ~/.ssh/id_rsa
RUSTFLAGS: "--cfg e2e_tests_with_ssh_key"
- name: Generate code coverage
if: ${{ github.event_name == 'pull_request' }}
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
- name: Upload coverage to Codecov
uses: codecov/[email protected]
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: codecov.json
verbose: true
fail_ci_if_error: false
audit:
name: security audit
needs: check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
- uses: Swatinem/rust-cache@v1
- name: audit
uses: actions-rs/audit-check@v1
continue-on-error: true
with:
token: ${{ secrets.GITHUB_TOKEN }}
publish-dry-run:
name: publish dry run
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
- uses: Swatinem/rust-cache@v1
- run: cargo publish --dry-run
docs:
name: docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup | rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
default: true
profile: minimal
- uses: Swatinem/rust-cache@v1
- name: check documentation
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --no-deps --all-features