diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..e00b2db --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "cargo" + directory: "/" # Location of package manifests + schedule: + interval: "daily" diff --git a/.github/workflows/test.yml b/.github/workflows/ci.yaml similarity index 70% rename from .github/workflows/test.yml rename to .github/workflows/ci.yaml index 27c5be6..7694f00 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,4 @@ -name: test +name: CI on: push: @@ -12,11 +12,14 @@ jobs: steps: - name: Check out uses: actions/checkout@v3 - - name: Update Rust + + - name: Install Rust toolchain run: | rustup update rustup toolchain install nightly rustup component add rustfmt --toolchain nightly + rustup component add clippy --toolchain nightly + - name: Set up cargo cache uses: actions/cache@v3 continue-on-error: false @@ -29,9 +32,12 @@ jobs: target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- - - name: Check code formatting - run: cargo +nightly fmt --all --check - - name: Lint - run: cargo clippy -- -D warnings - - name: Test + + - name: Check code format (cargo fmt) + run: cargo +nightly fmt --check + + - name: Lint (cargo clippy) + run: cargo clippy --no-deps -- -D warnings + + - name: Test (cargo test) run: cargo test diff --git a/README.md b/README.md index 8a6e94d..0b47e8c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # Configured +[![Crates.io][crates-badge]][crates-url] +[![license][license-badge]][license-url] +[![build][build-badge]][build-url] + +[crates-badge]: https://img.shields.io/crates/v/configured +[crates-url]: https://crates.io/crates/configured +[license-badge]: https://img.shields.io/github/license/hseeberger/configured +[license-url]: https://github.com/hseeberger/configured/blob/main/LICENSE +[build-badge]: https://img.shields.io/github/actions/workflow/status/hseeberger/configured/ci.yaml +[build-url]: https://github.com/hseeberger/configured/actions/workflows/ci.yaml + Opinionated utility to load a configuration from three well defined layers into any type which can be deserialized by [Serde](https://serde.rs/) using kebab-case.