From 718c9137952b2860942a8bfea0f0df9213d137f9 Mon Sep 17 00:00:00 2001 From: Kai Hudalla Date: Tue, 24 Jun 2025 15:20:47 +0200 Subject: [PATCH 1/3] Fix links in source and markdown files --- .github/workflows/README.md | 23 +++++++++-------------- CONTRIBUTING.md | 7 ++----- Cargo.lock | 2 +- Cargo.toml | 2 +- LICENSE | 2 +- src/cloudevents.rs | 2 +- src/ustatus.rs | 4 ++-- 7 files changed, 17 insertions(+), 25 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index d445d1ac..6fc1d0a5 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -8,9 +8,9 @@ At this time, there are three events that will initiate a workflow run: ## PRs and merges to main -We want a comprehensive but also quick check&test workflow. This should be testing all relevant/obvious feature sets, run on all major OSes, and of course include all the Rust goodness around cargo check, fmt, clippy and so on. +We want a comprehensive but also quick check & test workflow. This should be testing all relevant/obvious feature sets, run on all major OSes, and of course include all the Rust goodness around cargo check, fmt, clippy and so on. -This is implemented in [`check.yaml`](check.yaml) +This is implemented in [`check.yaml`](check.yaml) and [`check-dependencies.yaml`](check-dependencies.yaml) ## Release publication @@ -24,17 +24,12 @@ All the tests we can think of, however long they might take. For instance, we ca This is implemented in [`nightly.yaml`](nightly.yaml) +## uProtocol specification compatibility + +The uProtocol specification is evolving over time. In order to discover any discrepancies between the currently implemented version and the changes being introduced to the specification, we perform a nightly check that verifies if the current up-rust code base on the main branch can be compiled and test can be run successfully using the most recent revision of the uProtocol specification. + +This is implemented in [`latest-up-spec-compatibility.yaml`](latest-up-spec-compatibility.yaml) + ## Further workflow modules -In addition to the main workflows described above, there exist a number of modules that are used by these main workflows. They can also be run standalone, and are intendet to make composing the capabilities of our main workflows simpler. These are: - -- [`check-up-spec-compatibility.yaml`](check-up-spec-compatibility.yaml) - checks if the current main branch can be built against up-spec's main branch instead of its latest tag/release -- [`coverage.yaml`](coverage.yaml) - collects test code coverage, and can optionally upload the results to codecov.io - - Will publish coverage data to CodeCov if `${{ secrets.CODECOV_TOKEN }}` is set - - outputs: download URL for the workflow-generated coverage info file -- [`license-report.yaml`](license-report.yaml) - create a license report for `up-rust` and all its dependencies in html format - - outputs: download URL for the workflow-generated license report -- [`requirements-tracing.yaml`](requirements-tracing.yaml) - Run OpenFastTrace to verify that all requirements from uProtocol Specification are met -- [`test-featurematrix.yaml`](test-featurematrix.yaml) - Test all feature combinations on a range of OS platforms -- [`verify-msrv.yaml`](verify-msrv.yaml) - checks if the MSRV ('Minimum Supported Rust Version) declared in Cargo.toml is correct -- [`x-build.yaml`](x-build.yaml) - Run release builds on multiple architecture targets +In addition to the main workflows described above, there exist a number of modules that are used by these main workflows. These live in the [uProtocol CI/CD repository](https://github.com/eclipse-uprotocol/ci-cd) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fdb2955b..47b0b9ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,9 +16,7 @@ The project maintains the following source code repositories ## Eclipse Contributor Agreement Before your contribution can be accepted by the project team contributors must -electronically sign the Eclipse Contributor Agreement (ECA). - - +electronically sign the [Eclipse Contributor Agreement](https://www.eclipse.org/legal/ECA.php) (ECA). Commits that are provided by non-committers must have a Signed-off-by field in the footer indicating that the author is aware of the terms by which the @@ -26,8 +24,7 @@ contribution has been provided to the project. The non-committer must additionally have an Eclipse Foundation account and must have a signed Eclipse Contributor Agreement (ECA) on file. -For more information, please see the Eclipse Committer Handbook: - +For more information, please see the [Eclipse Committer Handbook](https://www.eclipse.org/projects/handbook/#resources-commit). ## Setting up a development environment diff --git a/Cargo.lock b/Cargo.lock index e079c537..8a9b9472 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1526,7 +1526,7 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "up-rust" -version = "0.5.0" +version = "0.6.0" dependencies = [ "async-trait", "bytes", diff --git a/Cargo.toml b/Cargo.toml index 3610ce16..b6963687 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ name = "up-rust" readme = "README.md" repository = "https://github.com/eclipse-uprotocol/up-rust" rust-version = "1.82" -version = "0.5.0" +version = "0.6.0" [features] default = ["communication"] diff --git a/LICENSE b/LICENSE index 261eeb9e..b4473760 100644 --- a/LICENSE +++ b/LICENSE @@ -192,7 +192,7 @@ you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/cloudevents.rs b/src/cloudevents.rs index c0d770cf..36585d5b 100644 --- a/src/cloudevents.rs +++ b/src/cloudevents.rs @@ -7,7 +7,7 @@ // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/ustatus.rs b/src/ustatus.rs index 68143224..acb1e3d5 100644 --- a/src/ustatus.rs +++ b/src/ustatus.rs @@ -164,7 +164,7 @@ mod tests { // [utest->req~ustatus-data-model-impl~1] fn test_ustatus_fail_with_code() { let details = vec![Any { - type_url: "https://google.com/timestamp".to_string(), + type_url: "type.googleapis.com/google.protobuf.Timestamp".to_string(), ..Default::default() }]; UCode::VALUES.iter().for_each(|code| { @@ -185,7 +185,7 @@ mod tests { code: UCode::CANCELLED.into(), message: Some("the message".to_string()), details: vec![Any { - type_url: "https://google.com/timestamp".to_string(), + type_url: "type.googleapis.com/google.protobuf.Timestamp".to_string(), ..Default::default() }], ..Default::default() From ab506e56512902807b15e5605f50271939a335ce Mon Sep 17 00:00:00 2001 From: Kai Hudalla Date: Tue, 24 Jun 2025 15:57:13 +0200 Subject: [PATCH 2/3] Add CI job for checking links in markdown, asciidoc and source files --- .github/workflows/check.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 72f4b86b..6dfc4139 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -118,6 +118,25 @@ jobs: 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@v4 + with: + submodules: "recursive" + - name: Restore lychee cache + uses: actions/cache@v4 + with: + path: .lycheecache + key: cache-lychee-${{ github.sha }} + restore-keys: cache-lychee- + + - name: Run lychee + uses: lycheeverse/lychee-action@v2 + with: + args: "--cache --max-cache-age 1d --verbose --no-progress --exclude-path './target/' --exclude-path './up-spec/' -- './**/*.md' './**/*.rs' './**/*.adoc'" + feature-check: # Comprehensive check on dependencies for all feature flag combinations, excluding development dependencies needs: check From 9358b5825351635bced7ff2c02e7810fdadce6fe Mon Sep 17 00:00:00 2001 From: Kai Hudalla Date: Tue, 24 Jun 2025 15:33:25 +0200 Subject: [PATCH 3/3] Remove Quevee properties pointing to private repositories --- .github/workflows/release.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 22bf608b..ee5a04a3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -162,8 +162,6 @@ jobs: with: release_url: ${{ steps.latest_release_info.outputs.html_url }} artifacts_documentation: ${{ steps.upload_up_spec.outputs.browser_download_url }} - artifacts_coding_guidelines: https://github.com/AnotherDaniel/up-rust/blob/3a3ddcc2ee49ca6d33bd15577f769575718c22e5/.github/workflows/check.yaml#L85 - artifacts_release_process: https://github.com/AnotherDaniel/up-rust/blob/3a3ddcc2ee49ca6d33bd15577f769575718c22e5/.github/workflows/release.yaml artifacts_readme: ${{ steps.upload_readme.outputs.browser_download_url }} artifacts_requirements: ${{ steps.upload_up_spec.outputs.browser_download_url }} artifacts_testing: ${{ steps.upload_test_report.outputs.browser_download_url }},${{ steps.upload_test_coverage.outputs.browser_download_url }},${{ steps.upload_requirements_tracing_report.outputs.browser_download_url }}