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

ci: add .duvet/config.toml #278

Merged
merged 1 commit into from
Jan 23, 2025
Merged

Conversation

camshaft
Copy link
Contributor

This change updates the compliance tool duvet to version 0.4.0. This update includes

  • A .duvet/config.toml, which makes it easier to define the workspace sources and specifications, rather than passing it all on the command line
  • A snapshot report, which enables the project to avoid accidental regressions in requirement coverage. You can read more about it here: https://awslabs.github.io/duvet/reports.html#snapshot

I've also moved all of the specs files to the .duvet directory, which is now the preferred location to store everything related to duvet .

@camshaft camshaft marked this pull request as ready for review January 22, 2025 22:41
Copy link
Contributor

@Ruben2424 Ruben2424 left a comment

Choose a reason for hiding this comment

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

Just to clarify for me. There is no mechanism to keep snapshot.txt up to date in the CI right? Or did I miss it?
So when new citations are added it is required to call duvet report locally and push the updated snapshot.txt or how does it work?

--issue-link 'https://github.com/hyperium/h3/issues' \
--no-cargo \
--html ci/compliance/report.html
duvet report
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need the --ci parameter?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

duvet should now look at the the CI environment variable, which is set by GitHub actions by default. The nice thing about using the env var is the same script can be used locally to update the snapshot instead of checking it.

@camshaft
Copy link
Contributor Author

So when new citations are added it is required to call duvet report locally and push the updated snapshot.txt or how does it work?

That's exactly right. As you change the statuses of requirements locally, you check in the updates to snapshot.txt. This acts as an explicit acknowledgement that the snapshot changed and you commit it with the change that altered it. Then in CI, duvet report will enforce that the derived snapshot.txt matches what you have committed to the repository.

This is the same kind of mechanism that something like https://insta.rs/ provides.

@Ruben2424 Ruben2424 merged commit 9fd83d1 into hyperium:master Jan 23, 2025
14 checks passed
@camshaft camshaft deleted the duvet-config branch January 23, 2025 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants