-
Notifications
You must be signed in to change notification settings - Fork 53
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
feat: support OSCAL 1.1.2 #1533
Conversation
models Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
datamodel-codegen Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
397 failed, 738 passed, 3 skipped, 34 warnings, 68 errors Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
386 failed, 785 passed, 3 skipped, 34 warnings, 32 errors Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
parameter-selection Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving general feedback/questions, nothing major. I see that the semantic-release
issue is still a discussion point based on the attached document. Looks like a great improvement on the class naming under trestle/oscal
.
setup.cfg
Outdated
@@ -68,7 +69,6 @@ dev = | |||
urllib3==1.26.17 | |||
wheel | |||
yapf | |||
python-semantic-release==7.33.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an alternative plan for installation of semantic-release? I don't see any changes to the make release
target in the Makefile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, good catch!! Back to the drawing board here. The hope was to eliminate a set of warnings simply by getting rid of python-semantic-release
. What wasn't considered was the fact that trestle make release
won't work if this is removed, which wasn't noticed because make release
is not part of the test harness! How dumb? Please don't answer :-)
And by the way, these warnings already occur in the current develop branch, so there is no regression if the warnings reappear. The warnings are for removal of support for this level of semantic-release in python 3.12. However, we upgraded support to 3.9, 3.10, 3.11 in this PR, but not yet 3.12, so that is not a show stopper.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing to the latest version of python-semantic-release
requires a change in the CICD pipeline as it no longer contains the functionality to upload to pypi. Also moving to the latest release requires moving to pydantic>=2
which is a breaking change with the trestle code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this PR pydantic[email]
, meaning the latest version of pydantic is pulled. But, in the trestle code where pydantic is used for example import pydantic.v1.networks
. The thought here was that we use the latest pydnatic publications, but for now use the v1 interface. The thought being that support and CVE fixes for older publications may not be forthcoming.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not clear how difficult it would be to upgrade the trestle CICD pipeline to employ a newer version of semantic-release. I can investigate, but if it becomes too much of a chore (say, not finished by end of this week) perhaps we should back off and live with the warnings in order to get support for OSCAL 1.1.2 out the door. Also, anyone with more expertise willing to help on this topic (e.g. making trestle CICD pipeline changes needed) is welcomed!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@degenaro let me know if you need a hand. You will probably want to do this on a fork
from trestle.oscal.assessment_results import SystemComponent | ||
from trestle.oscal.common import AssessmentPlatform, ImplementedComponent, InventoryItem, Property, SubjectReference | ||
from trestle.oscal.common import AssessmentPlatform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just a nit, but expressing the imports this way can reduce some duplication here:
from trestle.oscal.common import (
ControlSelection,
ImplementedComponent,
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with Jenn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(venv.fix-1.1.2) degenaro:trestle.fix-1.1.2$ make code-lint
pre-commit run flake8 --all-files
flake8...................................................................Passed
flake8...................................................................Failed
- hook id: flake8
- exit code: 1
trestle/transforms/implementations/xccdf.py:29:121: E501 line too long (160 > 120 characters)
Because from trestle.oscal.common import
all on one line failed the linter, I chose to make all the imports singletons for consistency. I can make those that are less than 120 into one line if you like. I'm not too fussy here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving just general feedback. Will add 1 more test for backward compatibility of trestle import test
@@ -32,7 +32,7 @@ install_requires = | |||
paramiko==3.4.0 | |||
ruamel.yaml | |||
furl | |||
pydantic[email]>=1.8.2,<2.0.0 | |||
pydantic[email] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wasn't this intended to protect ourselves from some mal-versioned problem with the newer versions? I think that if tests are passing there are no worries, but just wanted to know
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea was to pull the latest version of pydantic, but use the v1 interface for now. Previously, we were pulling an older published release. At some point in the near future we should make the changes needed to use the v2 interface, but not now.
@@ -23,7 +23,7 @@ | |||
from pathlib import Path | |||
from typing import Any, Dict, List, Optional, Set, Tuple, Type, Union | |||
|
|||
from pydantic import BaseModel, create_model | |||
from pydantic.v1 import BaseModel, create_model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, just to understand, we're using certain models, functionalities from v1 but the current pydantic version we're pointing at is just 2.0.0 right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the claim is we are using the v1 interface of the v2 publication.
trestle/core/commands/author/prof.py
Outdated
@@ -595,6 +597,22 @@ def _is_inherited(all_comps: List[ssp.ByComponent]) -> bool: | |||
|
|||
return True | |||
|
|||
@staticmethod | |||
def _create_components_by_id( | |||
orig_prof_import: prof.Import, leveraged_ssp: ssp.SystemSecurityPlan, catalog_api: CatalogAPI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are you passing orig_prof_import
and catalog_api
as parameters? I don´t see them used along the function. I think that you passed them just because the parent function is using those parameters but in other places, but not necessarily because this extracted function needs it. Besides that, this function contributes a lot to lower down cognitive function which is fantastic 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed. unused parameters removed.
@@ -31,18 +32,72 @@ | |||
from trestle.common.str_utils import AliasMode | |||
from trestle.core.base_model import OscalBaseModel | |||
from trestle.oscal import OSCAL_VERSION | |||
from trestle.oscal.common import Base64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These imports from common mean that initially they were being imported from each specific class and instead now they are being pulled from common classes? Or was this included as new as part of the upgrades in the schema coming from NIST?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More did move to common, and therefore some imports were changed or were newly needed. With respect to the generators.py module, there were other reason for inclusions. I did make this comment:
Apr 17: 82 failed, 1121 passed, 3 skipped, 37 warnings
(LD) improve pre-process reordering & valid values
(LD) handle special case (e.g. Base64) code generator
Why the generator now had to deal with Base64 whereas before it did not, I do not precisely recall. I can spend some time re-investigating and explaining if wanted.
remarks: Optional[str] = None | ||
|
||
|
||
class Metadata(OscalBaseModel): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I´m assuming that metadata has been deleted automatically due to moving it to the common class right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For sure, Metadata is in common now. But as far as I can tell it is in common in the develop and main branches too. Not understanding why it appears here!?
remarks: Optional[str] = None | ||
|
||
|
||
class Party(OscalBaseModel): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I´m assuming that party has been deleted automatically due to moving it to the common class right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
) | ||
|
||
|
||
class Location(OscalBaseModel): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I´m assuming that location has been deleted automatically due to moving it to the common class right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
props: Optional[List[common.Property]] = Field(None) | ||
links: Optional[List[common.Link]] = Field(None) | ||
parts: Optional[List[common.Part]] = Field(None) | ||
controls: Optional[List[Control]] = None | ||
|
||
|
||
class Address(OscalBaseModel): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I´m assuming that address has been deleted automatically due to moving it to the common class right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
from trestle.oscal.assessment_results import SystemComponent | ||
from trestle.oscal.common import ImplementedComponent, InventoryItem, Property, SubjectReference | ||
from trestle.oscal.common import ControlSelection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A really silly/minor thing, why are these imports separated instead of being a one liner? Any particular reason even though they are coming from the same class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed.
from trestle.oscal.assessment_results import SystemComponent | ||
from trestle.oscal.common import AssessmentPlatform, ImplementedComponent, InventoryItem, Property, SubjectReference | ||
from trestle.oscal.common import AssessmentPlatform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with Jenn
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
re: semantic release 9.7.2 Sample workflow https://python-semantic-release.readthedocs.io/en/latest/automatic-releases/github-actions.html |
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
Specification of semantic-release 7.33.2 has been restored to the setup.cfg. This was an oversight (nicely caught by Jenn in her review) in an overzealous attempt to eliminate all warnings during |
Thanks for the reviews! I think all comments made thus far have been addressed. Would appreciate a re-review toward getting the next release of trestle closer to reality. |
So here's what I did, right or wrong. I did not understand why Follow-up: 2 things to report.
Conclusion: once this PR is approved and merged into I created a PR for just
|
Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
* fix: handle allOf construct Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * How did .value get removed in 2 places?? Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: merge & modify Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * test use of PositionValidValues as both string and enum Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * make flake8 happy Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: unify create_refs + body integrity check Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * remove use of extraneous constants Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> --------- Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
* feat: support for latest OSCAL Version upgrade Signed-off-by: Alejandro Jose Leiva Palomo <alejandro.leiva.palomo@ibm.com> * feat: support OSCAL 1.1.2 (#1533) * fix: hack component schema, moving metadata location to same as other models Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: add large line-length specification to pyptroject.toml for datamodel-codegen Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * doc: discourse on changes made. Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix - automate schema metadata relocation in comp-def Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: undo fwd refs Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: HowMany Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: update gen_oscal.md with info on automated schema relocations Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: isolate schema fixup code Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: preprocess improved move metadata & assign Type4 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix implementations move to common issues Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * OSCAL_VERSION 1.1.2 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * dynamic year for copyright Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: reorder by name pre-processing; some post-processing (hacking) 397 failed, 738 passed, 3 skipped, 34 warnings, 68 errors Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: code format/lint Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * hack: reduce failed/errors 386 failed, 785 passed, 3 skipped, 34 warnings, 32 errors Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: hack for EmailAddressDatatype Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: issue hack warning/info Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: handle special case of "id: TokenDatatype" in catalog Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: introduce schema patching and employ for email-address and parameter-selection Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: handle RiskStatus properly when applying renaming Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * code format & lint Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: validation error for Base64 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix AttributeError: module 'trestle.oscal.ssp' has no attribute 'Status' Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix AttributeError: 'StringDatatype' object has no attribute 'strip' Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix Origin vs. Origin1 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * Add Observation to assessment_results from common Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix value is not a valid enumeration member Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: import__test.py::test_import_wrong_oscal_version Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * patch schemas to rename “status” to “objectiveStatus” to avoid conflict Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * patch POAM schema to make RelatedObservation same as the other models Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix base 64 issue Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: determine common TaskValidValues, ThreatIdValidValues Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: improve pre-process reordering; handle special cases & valid values Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: nist content ssp example has moved and changed Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: OSCAL version in data/tasks/xlsx/output/profile.json Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix tests/trestle/tasks/oscal_catalog_to_csv_test.py::test_execute Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: code generation of URIReferenceDatatype Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix test_xlsx_execute_with_missing_rule_name_id Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix tests/trestle/tasks/xlsx_to_oscal_profile_test.py Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix tests/trestle/tasks/csv_to_oscal_cd_test.py Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix tests/trestle/tasks/ocp4_cis_profile_to_oscal_cd_test.py Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: test_generate_sample_model - OscalVersion Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix TypeError: unhashable type: 'WithId' Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: logger.warn deprecation Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix :test_profile_alter_props - 'str' object has no attribute 'value' Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: AssertionError: assert StringDatatype(__root__='1.1.2') == '1.1.2' Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix lint error Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: get rid of python 3.7 use (hopefully) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: sonar exclude generated code (hopefully) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix direct hack of NIST schema for EmailAddress (handle in “normalizer”) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix direct hack of NIST schema for Selection (HowMany) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: add common valid values integrity check Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * rectification of property name changes (objective_status, originations) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * TelephoneType and AddressType valid values Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * ExternalScheme and DocumentScheme valid values Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * DefinedComponentType valid values Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * SystemComponentType valid values Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * code comments Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * simplify pre-process code Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * simplify Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * remove unused code Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * replace deprecated pkg_resources with importlib_resources Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * Add python 3.10 to matrix Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * python 3.9, 3.10, 3.11 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * flake8 fix? Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * rename trestle.core.commands.author.profile to prof - lint shadow issue Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * update docs for change from author profile -> prof Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * add comments explaining refs creation in schema preprocessing Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * switch to pydantic latest version, but force v1 interface use for now Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: remedy 17 test warning by removing semantic release install Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * make sonar happy Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * make sonar happy Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * make sonar happy Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * use trestle.oscal.common.HowMany.one Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * supported versions of python are 3.9, 3.10. 3.11 Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * reduce some duplication, as per reviewer's comments. Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: remove unused parameters, per reviewer comments. Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * revise imports per reviewer suggestion. Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * 2.7.0 Automatically generated by python-semantic-release * restore python-semantic-release==7.33.2 to cfg (at old level, for now) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * Remove "We've moved" from README Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: handle allOf construct (#1546) * fix: handle allOf construct Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * How did .value get removed in 2 places?? Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: merge & modify Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * test use of PositionValidValues as both string and enum Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * make flake8 happy Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * fix: unify create_refs + body integrity check Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * remove use of extraneous constants Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> --------- Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> --------- Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> Co-authored-by: semantic-release <semantic-release> * remove extraneous workflow lines of code (#1555) Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * Improve comments in new schema pre-processing module Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * upgrade cmarkgfm version Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * cmarkgfm==0.8.* Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * trestle version should not be updated by hand! Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * cmarkgfm==0.6.* Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * remove 1.1.2 from dir name & use tmp folder for fixup schemas Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * cmarkgfm==0.8.* works locally... Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * cmarkgfm==2024.1.* works locally Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> * pydantic >= 2.0.0 * remove extraneous optional specifications Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> --------- Signed-off-by: Alejandro Jose Leiva Palomo <alejandro.leiva.palomo@ibm.com> Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com> Co-authored-by: Alejandro Jose Leiva Palomo <alejandro.leiva.palomo@ibm.com>
Types of changes
develop
->main
)Quality assurance (all should be covered).
Summary
Key links:
Before you merge