Skip to content

Conversation

@Bravo555
Copy link
Member

@Bravo555 Bravo555 commented Dec 2, 2025

Proposed changes

To ensure new versions of tedge remain compatible with older versions of tedge-p11-server, all PKCS11 features will be tested using both initial (i.e. first tedge-p11-server version that supports them) and latest tedge-p11-server versions.

This will supersede the previous approach of separate compatibility suite which only tested a subset of the features from version 1.5.1. With this new approach, all features will be tested for compatibility.

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


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

codecov bot commented Dec 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 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.

@Bravo555 Bravo555 force-pushed the tests/pkcs11-feature-compatibility branch from 96161aa to 7063e36 Compare December 2, 2025 19:35
@Bravo555 Bravo555 temporarily deployed to Test Pull Request December 2, 2025 19:35 — with GitHub Actions Inactive
@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Robot Results

✅ Passed ❌ Failed ⏭️ Skipped Total Pass % ⏱️ Duration
749 0 3 749 100 2h30m4.169284s

@reubenmiller reubenmiller added theme:testing Theme: Testing theme:hsm Hardware Security Module related topics labels Dec 3, 2025
Comment on lines 71 to 72
# ... cmd=tedge cert create-key-hsm --type rsa --bits ${bits} --label "${label}" "pkcs11:token=tedge"
... cmd=p11tool --set-pin=123456 --login --generate-privkey rsa --bits ${bits} --label ${label} "pkcs11:token=tedge"
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess that p11tool is used instead of tedge cert create-key-hsm because we want to run the tests even with an old version of tedge. Being explicit about that requirement would be better than commenting out the tedge command.


*** Variables ***
# It seems 1.6.2 tag was created but later removed, as packages with this tag are present on cloudsmith.
${TEDGE_P11_SERVER_VERSION} 1.6.2~300+g5cfe216
Copy link
Contributor

Choose a reason for hiding this comment

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

No 1.6.2 tag has been created and later removed.

Since this commit #2543:

  • 1.6.2~300+g5cfe216 means in preparation of 1.6.2, 300 commits after the previous tag i.e. 1.6.1 in that case.

However, thin-edge documentation is not up to date and is still referencing the old scheme https://thin-edge.github.io/thin-edge.io/contribute/package-hosting/#version-syntax

@Bravo555 Bravo555 temporarily deployed to Test Pull Request December 8, 2025 09:49 — with GitHub Actions Inactive
@Bravo555 Bravo555 temporarily deployed to Test Pull Request December 8, 2025 17:33 — with GitHub Actions Inactive
@Bravo555 Bravo555 marked this pull request as ready for review December 8, 2025 17:40
@Bravo555 Bravo555 requested a review from a team as a code owner December 8, 2025 17:40
Copy link
Contributor

@didier-wenzek didier-wenzek left a comment

Choose a reason for hiding this comment

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

The proposed test hierarchy is really clear (with a resource file and two test suites per feature - one for the initial reference release and one for the HEAD). I don't know if there is a better way to run with robot framework the same test suite on two different version of the software under test. But the current proposal nicely shares the test source code for the initial and current versions in a resource file per feature.

I will be happy to approve, but I would like first discuss the reference version to be used for the "create hsm keys" feature.



*** Variables ***
${TEDGE_P11_SERVER_VERSION} 1.6.2~300+g5cfe216
Copy link
Contributor

Choose a reason for hiding this comment

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

Even if 1.6.2~300+g5cfe216 is the precise commit which introduced the tedge cert create-key-hsm command, I would use the official release aka 1.7.0 (which retention policy is longer).

Suggested change
${TEDGE_P11_SERVER_VERSION} 1.6.2~300+g5cfe216
${TEDGE_P11_SERVER_VERSION} 1.7.0

Copy link
Contributor

@didier-wenzek didier-wenzek left a comment

Choose a reason for hiding this comment

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

Approved

Signed-off-by: Marcel Guzik <marcel.guzik@cumulocity.com>
… 1.6.1

Signed-off-by: Marcel Guzik <marcel.guzik@cumulocity.com>
Signed-off-by: Marcel Guzik <marcel.guzik@cumulocity.com>
Signed-off-by: Marcel Guzik <marcel.guzik@cumulocity.com>
…e suites

Signed-off-by: Marcel Guzik <marcel.guzik@cumulocity.com>
@Bravo555 Bravo555 force-pushed the tests/pkcs11-feature-compatibility branch from fc73f7b to 8fa28b7 Compare December 9, 2025 13:11
@Bravo555 Bravo555 deployed to Test Pull Request December 9, 2025 13:11 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

theme:hsm Hardware Security Module related topics theme:testing Theme: Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants