Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding hardware test #351

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open

Adding hardware test #351

wants to merge 26 commits into from

Conversation

Ellerbach
Copy link
Member

@Ellerbach Ellerbach commented Oct 14, 2024

Description

Adding hardware test

Motivation and Context

  • Adding hardware test
  • Run real hardware tests on real devices!

How Has This Been Tested?

With this PR pipeline

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
  • I have added new tests to cover my changes.

Summary by CodeRabbit

  • New Features

    • Enhanced Azure DevOps pipeline configuration with new triggers and resource management.
    • Introduced a Build stage and job for improved build processes.
    • Added dynamic testing capabilities with the appComponents parameter.
  • Bug Fixes

    • Implemented auto-cancellation for previous builds on new commits in pull requests.
  • Documentation

    • Updated pipeline configurations to exclude specific paths from triggering builds.

Copy link

coderabbitai bot commented Oct 14, 2024

Walkthrough

The pull request introduces significant modifications to Azure DevOps pipeline configuration files. The azure-pipelines.yml file has been restructured with a new parameterized approach, introducing a Build stage, dynamic component testing, and artifact publishing. The azure-bootstrap.yml file has been updated to configure specific branch triggers, resource management, and pipeline initialization, with a focus on automating build and test processes across different branches.

Changes

File Change Summary
azure-pipelines.yml - Added appComponents parameter of type object
- Disabled automatic triggers with trigger: none and pr: none
- Introduced Build stage with dynamic component testing
- Added pipeline artifact publishing task
- Implemented loop for component-specific testing
azure-bootstrap.yml - Configured branch triggers for main, develop, and release branches
- Added nf-tools repository resource
- Defined "Trigger" job for Azure DevOps pipeline initialization
- Set up pull request auto-cancellation

Sequence Diagram

sequenceDiagram
    participant Pipeline as Azure Pipeline
    participant Bootstrap as azure-bootstrap.yml
    participant Components as App Components
    
    Bootstrap->>Pipeline: Trigger pipeline
    Pipeline->>Pipeline: Configure build stage
    Pipeline->>Components: Iterate through appComponents
    loop For Each Component
        Pipeline->>Components: Run device-test.yml
        Components-->>Pipeline: Return test results
    end
    Pipeline->>Pipeline: Publish pipeline artifacts
Loading

The sequence diagram illustrates the pipeline's workflow, showing how the Azure Pipeline is triggered, configured, and iterates through application components for testing before publishing artifacts.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (4)
azure-pipelines.yml (4)

51-57: LGTM! Consider fixing indentation.

The introduction of the appComponents parameter enhances the pipeline's flexibility by allowing dynamic specification of test components. This is a good practice for maintaining a configurable and reusable pipeline.

Consider adjusting the indentation to align with YAML best practices:

parameters:
  - name: appComponents
    displayName: List of capabilities to run the tests on
    type: object
    default:
      - XIAO_ESP32C3
      - ESP32_C3_REV3
🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


59-90: LGTM! Consider addressing minor formatting issues.

The introduction of a staged approach with a dedicated Build stage improves the pipeline's structure and readability. The use of templates for class library build and error reporting promotes code reuse and maintainability. The new artifact publishing task ensures that build outputs are available for subsequent stages or manual download, which is a good practice.

Consider addressing the following minor formatting issues:

  1. Adjust indentation for improved readability and YAML best practices.
  2. Remove trailing spaces on lines 80 and 96.

Example of corrected indentation:

stages:
  - stage: Build
    displayName: 'Build'
    jobs:
      - job: Build
        displayName: 'Build job'
        pool:
          vmImage: 'windows-latest'
        steps:
          - template: azure-pipelines-templates/class-lib-build.yml@templates
            parameters:
              sonarCloudProject: 'nanoframework_lib-nanoFramework.Json'
              runUnitTests: true
              unitTestRunsettings: '$(System.DefaultWorkingDirectory)\.runsettings'

          - template: azure-pipelines-templates/discord-webhook-task.yml@templates
            parameters:
              status: 'failure'
              webhookUrl: '$(DiscordWebhook)'
              message: ''

          - task: PublishPipelineArtifact@1
            displayName: Publish Pipeline Artifact copy
            inputs:
              path: '$(System.DefaultWorkingDirectory)'
              artifactName: 'Artifacts'
🧰 Tools
🪛 yamllint

[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


92-97: LGTM! Consider parameterizing unitTestRunsettings and fix formatting.

The introduction of a loop to iterate over appComponents is an excellent approach. It allows for dynamic execution of device tests, increasing flexibility and reducing redundancy in the pipeline configuration.

Consider parameterizing the unitTestRunsettings to allow for more flexibility:

parameters:
  - name: unitTestRunsettings
    type: string
    default: 'nanoFramework.Json.Test\nano.runsettings,nanoFramework.Json.Test\bin\Debug\nanoFramework.System.Text.dll'

# ... (in the loop section)
- ${{ each appComponents in parameters.appComponents }}:
  - template: azure-pipelines-templates/device-test.yml
    parameters:
      appComponents: ${{ appComponents }}
      unitTestRunsettings: ${{ parameters.unitTestRunsettings }}

Also, please address the following formatting issues:

  1. Remove trailing spaces on lines 92 and 96.
  2. Adjust indentation for improved readability.
  3. Ensure there's a new line character at the end of the file.
🧰 Tools
🪛 yamllint

[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)


Line range hint 1-97: Great improvements overall! Consider a final formatting pass.

The restructuring of this Azure Pipelines configuration file is a significant improvement. The introduction of parameters, stages, and the loop for device testing enhances the pipeline's flexibility, reusability, and maintainability. The consistent use of templates for reusable components is also a great practice.

To further improve the file's readability and adhere to YAML best practices, consider doing a final formatting pass to address the following:

  1. Ensure consistent indentation throughout the file (2 spaces for each level is standard for YAML).
  2. Remove all trailing spaces.
  3. Add a new line character at the end of the file.

You can use a YAML linter or your IDE's formatting tools to help with these adjustments.

🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 68ad890 and b605096.

📒 Files selected for processing (1)
  • azure-pipelines.yml (1 hunks)
🧰 Additional context used
🪛 yamllint
azure-pipelines.yml

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (5)
azure-pipelines.yml (5)

51-57: Approve the addition of parameters with a minor indentation fix.

The introduction of the appComponents parameter enhances the pipeline's flexibility, allowing for dynamic specification of test components. This aligns well with the PR objective of adding hardware testing capabilities.

To address the YAML linting warning, please adjust the indentation of the parameters section. Apply this diff:

-parameters:
-- name: appComponents
-  displayName: List of capabilities to run the tests on
-  type: object
-  default:
-    - XIAO_ESP32C3
-    - ESP32_C3_REV3
+parameters:
+  - name: appComponents
+    displayName: List of capabilities to run the tests on
+    type: object
+    default:
+      - XIAO_ESP32C3
+      - ESP32_C3_REV3
🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


59-67: Approve the introduction of stages with a minor indentation fix.

The addition of the stages section with a Build stage and job improves the pipeline's structure and readability. This change aligns with best practices for Azure Pipelines and ensures a consistent build environment.

To address the YAML linting warning, please adjust the indentation of the stages section. Apply this diff:

-stages:
-- stage: Build
-  displayName: 'Build'
-  jobs:
-  - job: Build
-    displayName: 'Build job'
-    pool:
-      # default is the following VM Image
-      vmImage: 'windows-latest'
+stages:
+  - stage: Build
+    displayName: 'Build'
+    jobs:
+      - job: Build
+        displayName: 'Build job'
+        pool:
+          # default is the following VM Image
+          vmImage: 'windows-latest'
🧰 Tools
🪛 yamllint

[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


70-85: Approve the reorganized build steps with a minor formatting fix.

The reorganization of build steps within the Build job, using templates for class library build and error reporting, promotes code reuse and maintainability. The inclusion of SonarCloud analysis and unit tests enhances code quality checks, which is commendable.

To address the YAML linting error, please remove the trailing space from line 80. Apply this diff:

-    - template: azure-pipelines-templates/discord-webhook-task.yml@templates  
+    - template: azure-pipelines-templates/discord-webhook-task.yml@templates
🧰 Tools
🪛 yamllint

[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


86-90: Approve artifact publishing with optimization suggestion.

The addition of the artifact publishing step is crucial for sharing build outputs between jobs or for archiving purposes. This is a good practice in CI/CD pipelines.

Consider optimizing the artifact content by specifying only the necessary files or directories instead of publishing the entire working directory. This can reduce storage usage and improve artifact download times. For example:

- task: PublishPipelineArtifact@1
  displayName: Publish Pipeline Artifact
  inputs:
    path: '$(Build.ArtifactStagingDirectory)'
    artifact: 'BuildOutputs'

Ensure to copy only the required files to the $(Build.ArtifactStagingDirectory) before this step.


92-97: Approve the device testing loop with minor formatting fixes.

The addition of the loop to iterate over appComponents and execute device tests using the device-test.yml template is an excellent implementation. This dynamic approach aligns perfectly with the PR objective of adding hardware testing capabilities.

To address the YAML linting errors, please apply the following fixes:

  1. Remove trailing spaces from lines 92 and 96.
  2. Add a newline at the end of the file.

Apply this diff:

-- ${{ each appComponents in parameters.appComponents }}:   
+- ${{ each appComponents in parameters.appComponents }}:
   - template: azure-pipelines-templates/device-test.yml@templates
     parameters:
       appComponents: ${{ appComponents }}
-      unitTestRunsettings: 
+      unitTestRunsettings:
         - 'nanoFramework.Json.Test/nano.runsettings,nanoFramework.Json.Test/bin/Release/nanoFramework.System.Text.dll'
+
🧰 Tools
🪛 yamllint

[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 20ed2bc and bd361a0.

⛔ Files ignored due to path filters (1)
  • nanoFramework.Json.Benchmark/nanoFramework.Json.Benchmark.nfproj is excluded by none and included by none
📒 Files selected for processing (1)
  • azure-pipelines.yml (1 hunks)
🧰 Additional context used
🪛 yamllint
azure-pipelines.yml

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (1)
azure-pipelines.yml (1)

Line range hint 1-97: Overall approval with minor formatting suggestions.

The changes to the azure-pipelines.yml file significantly enhance the pipeline's flexibility and align well with the PR objective of adding hardware testing capabilities. The introduction of parameters, stages, and the device testing loop are particularly noteworthy improvements.

Key points:

  1. The appComponents parameter allows for dynamic specification of test components.
  2. The introduction of stages improves the pipeline's structure and readability.
  3. The device testing loop enables efficient execution of tests across multiple hardware components.

While the overall structure and content of the changes are excellent, please address the minor formatting issues mentioned in the previous comments to ensure consistency and adhere to YAML best practices.

🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (5)
azure-pipelines.yml (5)

51-57: Approve the addition of appComponents parameter with a minor formatting suggestion.

The introduction of the appComponents parameter aligns well with the PR objective of adding hardware testing capabilities. It provides a flexible way to specify the components for testing.

However, there's a minor formatting issue:

Please adjust the indentation of the parameter section. Each item should be indented with 2 spaces. Here's the corrected version:

parameters:
  - name: appComponents
    displayName: List of capabilities to run the tests on
    type: object
    default:
      - XIAO_ESP32C3
      - ESP32_C3_REV3
🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


59-68: Approve the introduction of stages with a minor formatting suggestion.

The addition of the stages section with a Build stage and job improves the pipeline's structure and readability. This change aligns with best practices for Azure Pipelines.

However, there's a minor formatting issue:

Please adjust the indentation of the stages section. Each level should be indented with 2 spaces. Here's the corrected version:

stages:
  - stage: Build
    displayName: 'Build'
    jobs:
      - job: Build
        displayName: 'Build job'
        pool:
          # default is the following VM Image
          vmImage: 'windows-latest'
🧰 Tools
🪛 yamllint

[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


70-85: Approve the build steps with a minor formatting suggestion.

The encapsulation of build steps within the Build job and the use of templates for class library build and error reporting are excellent practices. The addition of runUnitTests and unitTestRunsettings parameters aligns well with the PR objective of adding testing capabilities.

However, there's a minor formatting issue:

Please remove the trailing space from line 80. Here's the corrected line:

    - template: azure-pipelines-templates/discord-webhook-task.yml@templates
🧰 Tools
🪛 yamllint

[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


92-97: Approve the addition of device testing with minor formatting suggestions.

The introduction of the device testing section using a loop to iterate over appComponents is an excellent implementation of the PR objective. This approach allows for flexible and extensible testing of multiple hardware components.

However, there are a few minor formatting issues:

  1. Remove the trailing spaces from lines 92 and 96.
  2. Add a newline character at the end of the file.

Here's the corrected version:

- ${{ each appComponents in parameters.appComponents }}:
  - template: azure-pipelines-templates/device-test.yml@templates
    parameters:
      appComponents: ${{ appComponents }}
      unitTestRunsettings:
        - 'nanoFramework.Json.Test/nano.runsettings,nanoFramework.Json.Test/bin/Release/NFUnitTest.dll'

Note the added newline at the end.

🧰 Tools
🪛 yamllint

[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)


Line range hint 1-97: Overall approval with offer for further assistance.

The changes to azure-pipelines.yml are well-structured and align perfectly with the PR objective of adding hardware testing capabilities. The introduction of the appComponents parameter, the restructuring into stages, and the addition of device testing demonstrate a significant improvement in the pipeline's flexibility and functionality.

While there were some minor formatting issues (mainly indentation and trailing spaces), these do not detract from the overall quality of the changes. The use of templates, the addition of artifact publishing, and the loop for device testing are all excellent practices that enhance the pipeline's maintainability and extensibility.

If you'd like any assistance in further optimizing the pipeline or addressing the minor formatting issues, please let me know. I'd be happy to help generate a script to automatically fix the formatting or suggest any additional enhancements to the pipeline structure.

🧰 Tools
🪛 yamllint

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between bd361a0 and 5af0ba5.

📒 Files selected for processing (1)
  • azure-pipelines.yml (1 hunks)
🧰 Additional context used
🪛 yamllint
azure-pipelines.yml

[warning] 52-52: wrong indentation: expected 2 but found 0

(indentation)


[warning] 60-60: wrong indentation: expected 2 but found 0

(indentation)


[warning] 63-63: wrong indentation: expected 4 but found 2

(indentation)


[warning] 72-72: wrong indentation: expected 6 but found 4

(indentation)


[error] 80-80: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[warning] 93-93: wrong indentation: expected 4 but found 2

(indentation)


[error] 96-96: trailing spaces

(trailing-spaces)


[error] 97-97: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (1)
azure-pipelines.yml (1)

86-90: Approve the addition of artifact publishing step.

The inclusion of the PublishPipelineArtifact@1 task is a valuable addition to the pipeline. This step ensures that build artifacts are preserved and can be used in subsequent pipeline stages or for debugging purposes, which aligns with CI/CD best practices.

@Ellerbach
Copy link
Member Author

Copy link

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Outside diff range and nitpick comments (3)
azure-pipelines.yml (1)

40-71: Fix YAML indentation and enhance path handling.

The build configuration is solid, but there are some improvements needed:

  1. Fix indentation according to YAML best practices
  2. Consider using path variables for cross-platform compatibility (PR comment about Linux paths)

Apply these fixes:

 stages:
   - stage: Build
     displayName: 'Build'
     jobs:
       - job: Build
         displayName: 'Build job'
         steps:
           - template: azure-pipelines-templates/class-lib-build.yml@templates
             parameters:
               sonarCloudProject: 'nanoframework_lib-nanoFramework.Json'
               runUnitTests: true
-              unitTestRunsettings: '$(System.DefaultWorkingDirectory)\.runsettings'
+              unitTestRunsettings: '$(System.DefaultWorkingDirectory)/.runsettings'
🧰 Tools
🪛 yamllint

[warning] 41-41: wrong indentation: expected 2 but found 0

(indentation)


[warning] 44-44: wrong indentation: expected 4 but found 2

(indentation)


[warning] 53-53: wrong indentation: expected 6 but found 4

(indentation)


[error] 61-61: trailing spaces

(trailing-spaces)

azure-bootstrap.yml (2)

4-26: Consider adding explicit path includes for hardware test files.

While the path exclusions are well-defined, consider adding explicit path includes to ensure the pipeline only triggers for changes related to hardware testing. This would prevent unnecessary builds for unrelated changes.

 trigger:
   branches:
     include:
       - main
       - develop
       - release-*
   paths:
+    include:
+      - tests/hardware/**
+      - device-tests/**
     exclude:

1-169: Fix YAML formatting issues.

There are several formatting inconsistencies in the file:

  1. Incorrect indentation at lines 28, 40
  2. Trailing spaces at lines 37, 39, 98, 128, 131
  3. Missing newline at end of file

Please run yamllint locally and fix these formatting issues.

🧰 Tools
🪛 yamllint

[warning] 28-28: wrong indentation: expected 2 but found 0

(indentation)


[error] 37-37: trailing spaces

(trailing-spaces)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 40-40: wrong indentation: expected 4 but found 2

(indentation)


[error] 98-98: trailing spaces

(trailing-spaces)


[error] 128-128: trailing spaces

(trailing-spaces)


[error] 131-131: trailing spaces

(trailing-spaces)


[error] 169-169: no new line character at the end of file

(new-line-at-end-of-file)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 2aa239a and 727367b.

⛔ Files ignored due to path filters (1)
  • nanoFramework.Json.Test/nano.runsettings is excluded by none and included by none
📒 Files selected for processing (2)
  • azure-bootstrap.yml (1 hunks)
  • azure-pipelines.yml (2 hunks)
🧰 Additional context used
🪛 yamllint
azure-bootstrap.yml

[warning] 28-28: wrong indentation: expected 2 but found 0

(indentation)


[error] 37-37: trailing spaces

(trailing-spaces)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 40-40: wrong indentation: expected 4 but found 2

(indentation)


[error] 98-98: trailing spaces

(trailing-spaces)


[error] 128-128: trailing spaces

(trailing-spaces)


[error] 131-131: trailing spaces

(trailing-spaces)


[error] 169-169: no new line character at the end of file

(new-line-at-end-of-file)

azure-pipelines.yml

[warning] 34-34: wrong indentation: expected 2 but found 0

(indentation)


[warning] 41-41: wrong indentation: expected 2 but found 0

(indentation)


[warning] 44-44: wrong indentation: expected 4 but found 2

(indentation)


[warning] 53-53: wrong indentation: expected 6 but found 4

(indentation)


[error] 61-61: trailing spaces

(trailing-spaces)


[error] 73-73: trailing spaces

(trailing-spaces)


[warning] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 77-77: trailing spaces

(trailing-spaces)


[error] 78-78: no new line character at the end of file

(new-line-at-end-of-file)

azure-pipelines.yml Outdated Show resolved Hide resolved
Comment on lines +33 to +39
parameters:
- name: appComponents
displayName: List of capabilities to run the tests on
type: object
default:
- none

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Improve parameter configuration and validation.

The default value of none for appComponents could lead to scenarios where no tests are executed, which aligns with the reported issue in PR comments about catching missing tests.

Consider these improvements:

  1. Add parameter validation to prevent empty or 'none' values
  2. Enhance the parameter description to list valid component options
  3. Add a minimum number of required components

Here's a suggested improvement:

 parameters:
 - name: appComponents
   displayName: List of capabilities to run the tests on
   type: object
+  # List of valid components: [component1, component2, ...]
+  # At least one component must be specified
   default:
-    - none
+    - required: true
+    - allowed:
+      - component1
+      - component2

Committable suggestion was skipped due to low confidence.

🧰 Tools
🪛 yamllint

[warning] 34-34: wrong indentation: expected 2 but found 0

(indentation)

azure-pipelines.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
azure-bootstrap.yml (3)

4-22: Consider parameterizing branch patterns and excluded paths.

For better maintainability and reusability across repositories, consider moving branch patterns and excluded paths to variables or parameters.

parameters:
  - name: excludedPaths
    type: object
    default:
      - .github_changelog_generator
      - .gitignore
      # ... other paths
  - name: includedBranches
    type: object
    default:
      - main
      - develop
      - release-*

trigger:
  branches:
    include: ${{ parameters.includedBranches }}
  paths:
    exclude: ${{ parameters.excludedPaths }}

23-26: Enhance PR trigger configuration for hardware tests.

Consider adding:

  1. Path filters to prevent unnecessary hardware test runs
  2. Batch settings to optimize test runs when multiple commits are pushed
pr:
  autoCancel: true
  batch: true  # Batch changes when multiple commits are pushed
  paths:
    include:
      - 'src/**'
      - 'tests/**'
    exclude:
      - '**/*.md'
      - 'docs/**'

36-40: Fix formatting issues.

Remove trailing spaces and fix indentation according to YAML best practices.

-  pool:
-    vmImage: 'ubuntu-latest'  
+  pool:
+    vmImage: 'ubuntu-latest'
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 36-36: wrong indentation: expected 2 but found 0

(indentation)


[error] 39-39: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 727367b and 3342e62.

📒 Files selected for processing (1)
  • azure-bootstrap.yml (1 hunks)
🧰 Additional context used
🪛 yamllint (1.35.1)
azure-bootstrap.yml

[warning] 36-36: wrong indentation: expected 2 but found 0

(indentation)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 42-42: wrong indentation: expected 4 but found 2

(indentation)

azure-bootstrap.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
azure-bootstrap.yml (2)

4-22: Consider optimizing trigger conditions for hardware tests.

Given this pipeline is for hardware testing:

  1. Consider using path includes to only trigger on changes that could affect hardware behavior
  2. Consider using batch triggers to reduce hardware test frequency on busy branches
 trigger:
   branches:
     include:
       - main
       - develop
       - release-*
+  batch: true
   paths:
+    include:
+      - src/**/*.cpp
+      - src/**/*.h
+      - tests/**/*
     exclude:
       - .github_changelog_generator
       # ... existing excludes ...

1-45: Consider implementing robust hardware test orchestration.

The current pipeline design could benefit from a more comprehensive approach to hardware test management:

  1. Test Queue Management: Consider implementing a queue system to prevent multiple tests from attempting to access the same hardware simultaneously.
  2. Hardware Status Checks: Add pre-flight checks to verify hardware availability before triggering tests.
  3. Test Results Management: Implement structured logging and artifacts collection for hardware test results.
  4. Recovery Procedures: Add cleanup steps to reset hardware state after failed tests.

Would you like assistance in implementing any of these architectural improvements?

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 36-36: wrong indentation: expected 2 but found 0

(indentation)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 42-42: wrong indentation: expected 4 but found 2

(indentation)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3342e62 and 9236f0e.

📒 Files selected for processing (1)
  • azure-bootstrap.yml (1 hunks)
🧰 Additional context used
🪛 yamllint (1.35.1)
azure-bootstrap.yml

[warning] 36-36: wrong indentation: expected 2 but found 0

(indentation)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 42-42: wrong indentation: expected 4 but found 2

(indentation)

azure-bootstrap.yml Outdated Show resolved Hide resolved
azure-bootstrap.yml Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
azure-bootstrap.yml (1)

4-22: Consider adding hardware-specific path triggers.

Since this pipeline is for hardware testing, the trigger paths should be more specific to hardware-related changes.

 trigger:
   branches:
     include:
       - main
       - develop
       - release-*
   paths:
+    include:
+      - src/Hardware/**/*
+      - tests/Hardware/**/*
     exclude:
       - .github_changelog_generator
       - .gitignore
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9236f0e and 60c22e9.

⛔ Files ignored due to path filters (2)
  • nanoFramework.Json.Benchmark/nanoFramework.Json.Benchmark.nfproj is excluded by none and included by none
  • nanoFramework.Json.Benchmark/packages.config is excluded by none and included by none
📒 Files selected for processing (2)
  • azure-bootstrap.yml (1 hunks)
  • nanoFramework.Json.Benchmark/packages.lock.json (1 hunks)
🧰 Additional context used
🪛 yamllint (1.35.1)
azure-bootstrap.yml

[warning] 36-36: wrong indentation: expected 2 but found 0

(indentation)


[error] 39-39: trailing spaces

(trailing-spaces)


[warning] 42-42: wrong indentation: expected 4 but found 2

(indentation)

🔇 Additional comments (1)
nanoFramework.Json.Benchmark/packages.lock.json (1)

37-39: Verify Stopwatch compatibility with hardware tests.

The Stopwatch package update (1.2.670 → 1.2.693) should be verified for compatibility with the hardware testing implementation.

✅ Verification successful

Stopwatch update is safe for benchmarking implementation

The Stopwatch package update (1.2.670 → 1.2.693) is a minor patch version change that's safe to proceed with, as:

  • It's only used in the benchmarking project which is not part of the production code
  • The benchmark implementation uses Stopwatch through nanoFramework.Benchmark package abstraction
  • No direct Stopwatch usage found in the benchmark code that could be affected by the update
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check changelog and issues for the Stopwatch package version update

# Check for breaking changes or known issues in the changelog
gh api graphql -f query='
{
  repository(owner: "nanoframework", name: "System.Diagnostics.Stopwatch") {
    release(tagName: "v1.2.693") {
      description
    }
    issues(first: 5, states: OPEN, labels: ["breaking-change", "bug"]) {
      nodes {
        title
        body
        labels(first: 5) {
          nodes {
            name
          }
        }
      }
    }
  }
}'

Length of output: 706


Script:

#!/bin/bash
# Let's check the repository structure and dependencies to understand the Stopwatch usage

# Find files referencing Stopwatch
rg -l "Stopwatch" --type-add 'proj:*.{csproj,props,sln}' -t proj

# Check project files for Stopwatch package references
rg -A 3 "System\.Diagnostics\.Stopwatch" --type-add 'proj:*.{csproj,props,sln}' -t proj

# Look for Stopwatch usage in source files
rg "Stopwatch" -A 2 --type csharp

Length of output: 188


Script:

#!/bin/bash
# Let's try a different approach to find Stopwatch usage and dependencies

# Find all csproj files first
fd '\.csproj$'

# Look for package references in all json files
rg "nanoFramework.System.Diagnostics.Stopwatch" --type json -A 3 -B 3

# Check for benchmark files that might use Stopwatch
fd 'Benchmark' --type f

Length of output: 1297


Script:

#!/bin/bash
# Let's examine the benchmark implementation to understand Stopwatch usage

# Check base benchmark implementation
cat "nanoFramework.Json.Benchmark/Base/BaseIterationBenchmark.cs"

# Check project file for dependencies
cat "nanoFramework.Json.Benchmark/nanoFramework.Json.Benchmark.nfproj"

Length of output: 5864

azure-bootstrap.yml Show resolved Hide resolved
@Ellerbach
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@josesimoes
Copy link
Member

@nfbot updatedependencies

Copy link
Member

@josesimoes josesimoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Another one bites the dust...

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
azure-bootstrap.yml (1)

33-42: Fix YAML indentation

The following indentation issues should be fixed:

 jobs:
-  - job: Trigger
+- job: Trigger
   displayName: Trigger Azure Dev Ops build and test pipeline
   pool:
     vmImage: 'ubuntu-latest'
 
   steps:
-    - template: azure-pipelines-templates/device-bootstrap.yml@templates
+  - template: azure-pipelines-templates/device-bootstrap.yml@templates
     parameters:
       AZURE_DEVOPS_PROJECT: nanoFramework.Json
       AZURE_DEVOPS_PIPELINE_ID: 59
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 33-33: wrong indentation: expected 2 but found 0

(indentation)


[error] 36-36: trailing spaces

(trailing-spaces)


[warning] 39-39: wrong indentation: expected 4 but found 2

(indentation)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 60c22e9 and 06a9889.

📒 Files selected for processing (1)
  • azure-bootstrap.yml (1 hunks)
🧰 Additional context used
🪛 yamllint (1.35.1)
azure-bootstrap.yml

[warning] 33-33: wrong indentation: expected 2 but found 0

(indentation)


[error] 36-36: trailing spaces

(trailing-spaces)


[warning] 39-39: wrong indentation: expected 4 but found 2

(indentation)

🔇 Additional comments (3)
azure-bootstrap.yml (3)

20-23: 🛠️ Refactor suggestion

Enhance PR trigger configuration for hardware tests

The current PR trigger configuration could lead to unnecessary hardware test runs. Consider adding path and branch filters.

 pr:
   autoCancel: true
+  branches:
+    include:
+      - main
+      - develop
+      - release-*
+  paths:
+    include:
+      - Tests/**/*.cs
+      - Tests/**/*.json
+      - DeviceTests/**/*
+    exclude:
+      - docs/*
+      - **/*.md

Likely invalid or redundant comment.


38-42: ⚠️ Potential issue

Enhance device bootstrap configuration

Based on PR objectives about Linux path adjustments and error handling:

   steps:
+  # Verify test environment
+  - bash: |
+      # Adjust paths for Linux
+      export TEST_PATH=$(echo $TEST_PATH | sed 's/\\/\//g')
+      
+      # Check if tests exist
+      if [ ! -d "$TEST_PATH" ] || [ -z "$(find $TEST_PATH -name '*Tests.cs' -type f)" ]; then
+        echo "##vso[task.logissue type=error]No tests found in $TEST_PATH"
+        exit 1
+      fi
+    displayName: 'Validate test environment'
+    
   - template: azure-pipelines-templates/device-bootstrap.yml@templates
     parameters:
       AZURE_DEVOPS_PROJECT: nanoFramework.Json
       AZURE_DEVOPS_PIPELINE_ID: 59
+      # Pass adjusted test path
+      TEST_PATH: $(TEST_PATH)

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 39-39: wrong indentation: expected 4 but found 2

(indentation)


32-37: ⚠️ Potential issue

Add timeout and error handling for hardware tests

To improve reliability and catch issues when no tests are available:

 jobs:
 - job: Trigger
   displayName: Trigger Azure Dev Ops build and test pipeline
+  timeoutInMinutes: 120  # 2 hour timeout for hardware tests
   pool:
     vmImage: 'ubuntu-latest'
+  variables:
+    TEST_PATH: $(System.DefaultWorkingDirectory)/Tests

Likely invalid or redundant comment.

🧰 Tools
🪛 yamllint (1.35.1)

[warning] 33-33: wrong indentation: expected 2 but found 0

(indentation)


[error] 36-36: trailing spaces

(trailing-spaces)

azure-bootstrap.yml Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 06a9889 and a43ad17.

📒 Files selected for processing (1)
  • azure-bootstrap.yml (1 hunks)
🧰 Additional context used
🪛 yamllint (1.35.1)
azure-bootstrap.yml

[warning] 33-33: wrong indentation: expected 2 but found 0

(indentation)


[error] 36-36: trailing spaces

(trailing-spaces)


[warning] 40-40: wrong indentation: expected 4 but found 2

(indentation)

🔇 Additional comments (3)
azure-bootstrap.yml (3)

24-31: Consider pinning the template repository version

For hardware tests, it's particularly important to ensure consistent behavior. Consider pinning the template repository to a specific ref or tag.

 resources:
   repositories:
     - repository: templates
       type: github
       name: nanoframework/nf-tools
       endpoint: nanoframework
+      ref: refs/tags/v1.0.0  # Replace with appropriate version

4-19: 🛠️ Refactor suggestion

Optimize trigger paths for hardware tests

The trigger configuration should explicitly specify which paths should trigger hardware tests to avoid unnecessary test runs on unrelated changes.

 trigger:
   branches:
     include:
       - main
       - develop
       - release-*
   paths:
+    include:
+      - Tests/Hardware/**/*
+      - DeviceTests/**/*
+      - src/**/*.cs
+      - src/**/*.json
     exclude:
       - .gitignore
       - CHANGELOG.md
       - LICENSE.md
       - README.md
       - NuGet.Config
       - assets/*
       - .github/*
+      - docs/*
+      - **/*.md

Likely invalid or redundant comment.


20-23: 🛠️ Refactor suggestion

Enhance PR trigger configuration for hardware tests

The current PR trigger configuration could lead to unnecessary hardware test runs. Consider adding branch and path filters to optimize resource usage, especially important for hardware tests.

 pr:
   autoCancel: true
+  branches:
+    include:
+      - main
+      - develop
+      - release-*
+  paths:
+    include:
+      - Tests/Hardware/**/*
+      - DeviceTests/**/*
+      - src/**/*.cs
+    exclude:
+      - docs/*
+      - README.md
+      - CHANGELOG.md

Likely invalid or redundant comment.

azure-bootstrap.yml Outdated Show resolved Hide resolved
Copy link
Member

@josesimoes josesimoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't get much better than this. Done testing improvements in the playground repo.
All good to merge!

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
azure-pipelines.yml (2)

40-71: Improve build configuration robustness.

Consider these enhancements for better cross-platform support and error handling:

  1. Use forward slashes in runsettings path for cross-platform compatibility
  2. Add explicit error handling for test failures
     - template: azure-pipelines-templates/class-lib-build.yml@templates
       parameters:
         sonarCloudProject: 'nanoframework_lib-nanoFramework.Json'
         runUnitTests: true
-        unitTestRunsettings: '$(System.DefaultWorkingDirectory)\.runsettings'
+        unitTestRunsettings: '$(System.DefaultWorkingDirectory)/.runsettings'
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 41-41: wrong indentation: expected 2 but found 0

(indentation)


[warning] 44-44: wrong indentation: expected 4 but found 2

(indentation)


[warning] 53-53: wrong indentation: expected 6 but found 4

(indentation)


[error] 61-61: trailing spaces

(trailing-spaces)


61-61: Fix YAML formatting issues.

Remove trailing spaces from the following lines:

  • Line 61: After azure-pipelines-templates/discord-webhook-task.yml@templates
  • Line 73: After - ${{ each appComponents in parameters.appComponents }}:
  • Line 77: After unitTestRunsettings:

Also applies to: 73-73, 77-77

🧰 Tools
🪛 yamllint (1.35.1)

[error] 61-61: trailing spaces

(trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a43ad17 and 1958f63.

📒 Files selected for processing (2)
  • azure-bootstrap.yml (1 hunks)
  • azure-pipelines.yml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • azure-bootstrap.yml
🧰 Additional context used
📓 Learnings (1)
azure-pipelines.yml (1)
Learnt from: josesimoes
PR: nanoframework/nanoFramework.Json#351
File: azure-pipelines.yml:4-7
Timestamp: 2024-12-19T12:17:54.393Z
Learning: The pipeline in nanoFramework.Json is triggered by an Azure DevOps REST API call, not by GitHub Actions.
🪛 yamllint (1.35.1)
azure-pipelines.yml

[warning] 34-34: wrong indentation: expected 2 but found 0

(indentation)


[warning] 41-41: wrong indentation: expected 2 but found 0

(indentation)


[warning] 44-44: wrong indentation: expected 4 but found 2

(indentation)


[warning] 53-53: wrong indentation: expected 6 but found 4

(indentation)


[error] 61-61: trailing spaces

(trailing-spaces)


[error] 73-73: trailing spaces

(trailing-spaces)


[warning] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 77-77: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
azure-pipelines.yml (3)

4-7: LGTM! Pipeline trigger configuration is correct.

The trigger configuration aligns with the intended behavior of being triggered via Azure DevOps REST API calls, as confirmed by the project maintainers.


33-39: Enhance parameter configuration for hardware testing.

The appComponents parameter needs improvements to support reliable hardware testing:

  1. The default value of 'none' could prevent tests from running
  2. Missing validation of valid hardware components
  3. No documentation of supported hardware configurations
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 34-34: wrong indentation: expected 2 but found 0

(indentation)


73-78: Critical: Fix device test configuration.

The device test configuration needs improvements for reliable hardware testing:

  1. Use $(buildConfiguration) variable instead of hardcoded 'Release'
  2. Use forward slashes for cross-platform compatibility
  3. Add test file existence validation
🧰 Tools
🪛 yamllint (1.35.1)

[error] 73-73: trailing spaces

(trailing-spaces)


[warning] 74-74: wrong indentation: expected 4 but found 2

(indentation)


[error] 77-77: trailing spaces

(trailing-spaces)

@josesimoes
Copy link
Member

@nfbot updatedependencies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants