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

Start schedule-triggered supply-chain review #46

Merged
merged 1 commit into from
Jun 21, 2024

Conversation

ajnelson-nist
Copy link
Contributor

This PR implements a dependency freshness review for the currently-used static type review tool, which is incorporated by reference without version pinning.

An advantage of not pinning a version is every fresh run of CI will use the most up to date version of all dependencies.

A disadvantage of not pinning a version is tool behaviors may change, triggering unexpected events. (This is not a criticism of any tool - major-version revisions and backwards incompatibitilites are just a fact of life.)

This repository had not had CI running on a schedule, so several needed updates had quietly queued up. This PR enables scheduled CI checks, not for the entirety of the test suite, but instead for a portion of the test suite that may change behavior without action from this repository's maintainers.

This PR adds the framework for calling a Make target check-supply-chain. This design pattern has been used in several repositories in the Cyber Domain Ontology to keep dependencies refreshed with automated assistance. A reference link to the CDO project release flow has in its technical background a recipe for Git submodule supply chain review. While the Git submodule recipe won't be included in this PR, the benefit of an automated dependency review practice is relevant to this PR.

This PR is also filed with the intent of laying groundwork for a follow-on PR that will start adding Python formatting mechanisms, and checking them on a schedule as well as part of the supply chain review. That's left for later to separate code-formatting discussion from automated-review discussion.

Impact on maintenance: Every now and then, a scheduled CI job will fail because of some dependency changing a behavior (likely from a major-version update). The resolution to this event is intentionally left for manual revision. In the case of this first recipe for type review, either some type signature would need updating, or the tool call pattern would need adjustment (as done in PR 44).

References

Disclaimer

Participation by NIST in the creation of the documentation of mentioned software is not intended to imply a recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that any specific software is necessarily the best available for the purpose.

@ajnelson-nist ajnelson-nist marked this pull request as draft June 21, 2024 20:31
@ajnelson-nist ajnelson-nist force-pushed the start_scheduled_supply_chain_review branch from 5311cdb to 20a1dbf Compare June 21, 2024 20:32
Disclaimer:
Participation by NIST in the creation of the documentation of mentioned
software is not intended to imply a recommendation or endorsement by the
National Institute of Standards and Technology, nor is it intended to
imply that any specific software is necessarily the best available for
the purpose.

Signed-off-by: Alex Nelson <[email protected]>
@ajnelson-nist ajnelson-nist force-pushed the start_scheduled_supply_chain_review branch from 20a1dbf to 7b1fdb3 Compare June 21, 2024 20:33
@ajnelson-nist ajnelson-nist marked this pull request as ready for review June 21, 2024 20:35
@ajnelson-nist ajnelson-nist requested a review from simsong June 21, 2024 20:35
@ajnelson-nist
Copy link
Contributor Author

@simsong , I'd appreciate your review and merge, particularly because this PR sets up an email-generator.

@simsong
Copy link
Contributor

simsong commented Jun 21, 2024

This tests on Python 3.8, which is EOL in Oct 2024. I think that we should update the tests to be Python 3.9 and Python 3.13. What do you think?

Comment on lines +31 to +32
- '3.8'
- '3.9'
Copy link
Contributor

Choose a reason for hiding this comment

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

Why 3.8 and 3.9 and not 3.9 and 3.13?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Paralleling current CI.

@ajnelson-nist
Copy link
Contributor Author

This tests on Python 3.8, which is EOL in Oct 2024. I think that we should update the tests to be Python 3.9 and Python 3.13. What do you think?

I agree, but I'll handle that in another PR. Some type signature details might change from Python stdlib deprecations, I haven't checked yet.

@ajnelson-nist
Copy link
Contributor Author

This tests on Python 3.8, which is EOL in Oct 2024. I think that we should update the tests to be Python 3.9 and Python 3.13. What do you think?

I agree, but I'll handle that in another PR. Some type signature details might change from Python stdlib deprecations, I haven't checked yet.

Apologies - I agree with bumps to expand tested Python versions to non-EOL (floor) and non-Beta (ceiling) releases. I've found reasons in the past to keep this as open as possible back in time.

@ajnelson-nist
Copy link
Contributor Author

Merging with approval. Thanks, @simsong !

@ajnelson-nist ajnelson-nist merged commit 5804179 into main Jun 21, 2024
8 checks passed
@ajnelson-nist ajnelson-nist deleted the start_scheduled_supply_chain_review branch June 21, 2024 20:55
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