From 10b564c9cf41b93d125cd3174ead0ab50df09e0b Mon Sep 17 00:00:00 2001 From: Kai Hudalla Date: Tue, 14 Jan 2025 16:53:24 +0100 Subject: [PATCH] Check latest dependency compatibility in nightly CI job The nightly workflow has been extended with a job that verifies if the crate can be built with the latest (compatible) versions of all dependencies. The job will not fail the overall workflow execution but provides an indication that the crate's MSRV might need to be adapted. --- .github/workflows/nightly.yaml | 3 ++ .github/workflows/verify-latest-deps.yaml | 39 +++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .github/workflows/verify-latest-deps.yaml diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 6725aeb..c872dab 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -32,6 +32,9 @@ jobs: check-msrv: uses: ./.github/workflows/verify-msrv.yaml + check-latest-deps: + uses: ./.github/workflows/verify-latest-deps.yaml + deny: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/verify-latest-deps.yaml b/.github/workflows/verify-latest-deps.yaml new file mode 100644 index 0000000..b36a464 --- /dev/null +++ b/.github/workflows/verify-latest-deps.yaml @@ -0,0 +1,39 @@ +# ******************************************************************************** +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# *******************************************************************************/ + +# Checks if the crate can be built using the latest stable toolchain with the latest +# compatible dependencies. +# The job definition has been inspired by the example given in the Rust Cargo book. + +name: Check latest dependencies + +on: + workflow_call: + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + +jobs: + latest-deps: + name: Latest Dependencies + runs-on: ubuntu-latest + continue-on-error: true + env: + CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: allow + steps: + - uses: actions/checkout@v4 + - run: rustup update stable && rustup default stable + - run: cargo update --verbose + - run: cargo build --verbose --all-features + - run: cargo test --verbose --all-features