Skip to content

feat: process configuration before software in device profile operations#3685

Merged
reubenmiller merged 2 commits intothin-edge:mainfrom
reubenmiller:feat-profile-default-order-firmware-config-software
Jun 17, 2025
Merged

feat: process configuration before software in device profile operations#3685
reubenmiller merged 2 commits intothin-edge:mainfrom
reubenmiller:feat-profile-default-order-firmware-config-software

Conversation

@reubenmiller
Copy link
Copy Markdown
Contributor

@reubenmiller reubenmiller commented Jun 13, 2025

Proposed changes

Change the default processing order of artifacts included in a device profile operation, where configuration is processed before software. The new order supports more use-cases out-of-the-box.

Technically this is a breaking change as it changed the behaviour, however we believe it will only positively impact users and remove common annoyances with the existing processing order.

Old Processing Order

  • Firmware
  • Software
  • Configuration

New Processing Order

  • Firmware
  • Configuration
  • Software

Below lists the advantages and disadvantages of the change:

Advantages

  • Repositories can be configured (with credentials or proxy settings) before applications/containers are installed via software
  • Configuration can be applied before the application/container starts the first time (also removes need for restarting the software)

Disadvantages

  • Short period of time where potentially incompatible configuration is applied before the new application version has been installed
  • Potential that application could overwrite config (generally only occurs if app builders haven't defined the linux package definition correctly)

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
  • Documentation Update (if none of the other choices apply)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

#3684

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA (in all commits with git commit -s. You can activate automatic signing by running just prepare-dev once)
  • I ran just format as mentioned in CODING_GUIDELINES
  • I used just check as mentioned in CODING_GUIDELINES
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

@codecov
Copy link
Copy Markdown

codecov bot commented Jun 13, 2025

Codecov Report

Attention: Patch coverage is 97.56098% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...xtensions/c8y_mapper_ext/src/operations/convert.rs 80.00% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jun 13, 2025

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass % ⏱️ Duration
641 0 3 641 100 1h50m11.547155s

Copy link
Copy Markdown
Contributor

@albinsuresh albinsuresh left a comment

Choose a reason for hiding this comment

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

Change looks fine. Happy to approve with a small doc update.

Signed-off-by: reubenmiller <reuben.d.miller@gmail.com>
Signed-off-by: reubenmiller <reuben.d.miller@gmail.com>
@reubenmiller reubenmiller force-pushed the feat-profile-default-order-firmware-config-software branch from 315bf8e to ca55349 Compare June 17, 2025 10:33
@reubenmiller reubenmiller temporarily deployed to Test Pull Request June 17, 2025 10:33 — with GitHub Actions Inactive
Copy link
Copy Markdown
Contributor

@albinsuresh albinsuresh left a comment

Choose a reason for hiding this comment

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

LGTM.

@reubenmiller reubenmiller added this pull request to the merge queue Jun 17, 2025
Merged via the queue into thin-edge:main with commit 861730a Jun 17, 2025
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

theme:profile Device Profile

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants