Skip to content

Bump serde from 1.0.228 to 1.0.229 #569

Bump serde from 1.0.228 to 1.0.229

Bump serde from 1.0.228 to 1.0.229 #569

Workflow file for this run

# ********************************************************************************
# 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
# *******************************************************************************/
# Comprehensive combination of checks, linting, feature-checks, testing to be run on merge and on PR
# Upload test results for potential re-use in publication workflow, returns the corresponding download
# URL as an output on workflow_call
name: Default checks
on:
push:
branches:
- main
pull_request:
paths:
- "examples/**"
- "src/**"
- "tests/**"
- "Cargo.*"
- "build.rs"
- "deny.toml"
workflow_call:
outputs:
test_results_url:
description: "URL of the test results artifact"
value: ${{ jobs.test.outputs.test_results_url }}
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
permissions:
contents: read # needed for checking out the code
env:
RUST_TOOLCHAIN: ${{ vars.RUST_TOOLCHAIN || 'stable' }}
RUSTFLAGS: -Dwarnings
CARGO_TERM_COLOR: always
jobs:
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: EmbarkStudios/cargo-deny-action@3c6349835b2b7b196a839186cb8b78e02f7b5f25 # v2.1.1
with:
command: check
arguments: --all-features
# [impl->req~up-language-ci-build~1]
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- name: Run cargo check
run: |
cargo check --workspace --all-targets --all-features
# [impl->req~up-language-ci-linter~1]
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt
- name: Run cargo fmt
run: |
cargo fmt --all --check
# [impl->req~up-language-ci-linter~1]
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: clippy
- name: Run cargo clippy
run: |
cargo clippy --version
cargo clippy --all-targets --all-features --no-deps -- -W warnings -D warnings
# [impl->req~up-language-ci-api-docs~1]
docu:
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: -Dwarnings
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- name: Run rustdoc
run: |
cargo doc --no-deps --all-features
check-links:
# check links contained in markdown, asciidoc and source code files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- name: Restore lychee cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-
- name: Run lychee
uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0
with:
args: "--cache --max-cache-age 1d --verbose --no-progress --exclude-path './target/' --exclude-path './up-spec/' -- './**/*.md' './**/*.rs'"
feature-check:
# Comprehensive check for feature flag combinations, excluding development dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- uses: taiki-e/install-action@c44f6b046f1c29ae5918b1e0bfdbb2f1813836fd # v2.84.1
with:
tool: cargo-hack
- name: Run cargo hack powerset
run: |
cargo hack check \
--no-dev-deps \
--feature-powerset \
--group-features communication,usubscription,udiscovery,symphony \
--depth 2
# [impl->req~up-language-ci-test~1]
test:
# Subset of feature-combos, on only one OS - more complete testing in test-featurematrix.yaml
outputs:
test_results_url: ${{ steps.test_results.outputs.artifact-url }}
runs-on: ubuntu-latest
strategy:
matrix:
feature-flags:
[
"",
"--features protobuf-support,up-l2-api",
"--all-features",
]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: "recursive"
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1.17.0
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- name: Run lib tests
env:
# needed to run tests on the stable toolchain, as some of the tests use unstable features
RUSTC_BOOTSTRAP: 1
run: |
mkdir -p ${GITHUB_WORKSPACE}/target
cargo test --no-fail-fast --lib ${{ matrix.feature-flags }} -- \
-Z unstable-options \
--format junit \
--report-time \
> ${GITHUB_WORKSPACE}/target/lib-test-results.xml
- name: Run doc tests
env:
RUSTC_BOOTSTRAP: 1
run: |
mkdir -p ${GITHUB_WORKSPACE}/target
cargo test --no-fail-fast --doc ${{ matrix.feature-flags }} -- \
-Z unstable-options \
--format junit \
--report-time \
> ${GITHUB_WORKSPACE}/target/doc-test-results.xml
- name: Run TCK tests
if: matrix.feature-flags == '--all-features'
run: |
# the Cucumber based tests write a results file in JUnit format to "tck-[test_name]-results.xml"
cargo test --no-fail-fast --test 'tck_*' ${{ matrix.feature-flags }} -- \
--junit-out-folder=${GITHUB_WORKSPACE}/target
- name: Upload all-features test results artifact
id: test_results
# prevent execution when running the workflow locally with act
if: matrix.feature-flags == '--all-features' && !env.ACT
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-results
# include all test result files
path: target/*-results.xml