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

feat: support OSCAL 1.1.2 #1533

Merged
merged 82 commits into from
May 23, 2024
Merged

feat: support OSCAL 1.1.2 #1533

merged 82 commits into from
May 23, 2024

Conversation

degenaro
Copy link
Collaborator

Types of changes

  • Hot fix (emergency fix and release)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation (change which affects the documentation site)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Release (develop -> main)

Quality assurance (all should be covered).

  • My code follows the code style of this project.
  • Documentation for my change is up to date?
  • My PR meets testing requirements.
  • All new and existing tests passed.
  • All commits are signed-off.

Summary

Key links:

Before you merge

  • Ensure it is a 'squash commit' if not a release.
  • Ensure CI is currently passing
  • Check sonar. If you are working for a fork a maintainer will reach out, if required.

models

Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
datamodel-codegen

Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
@degenaro degenaro marked this pull request as draft March 22, 2024 16:44
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>
@degenaro
Copy link
Collaborator Author

degenaro commented May 9, 2024

Copy link
Collaborator

@jpower432 jpower432 left a 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.

pyproject.toml Show resolved Hide resolved
setup.cfg Outdated
@@ -68,7 +69,6 @@ dev =
urllib3==1.26.17
wheel
yapf
python-semantic-release==7.33.2
Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Collaborator Author

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!

Copy link
Collaborator

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

trestle/oscal/common.py Show resolved Hide resolved
from trestle.oscal.assessment_results import SystemComponent
from trestle.oscal.common import AssessmentPlatform, ImplementedComponent, InventoryItem, Property, SubjectReference
from trestle.oscal.common import AssessmentPlatform
Copy link
Collaborator

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,
     )

Copy link
Collaborator

Choose a reason for hiding this comment

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

Agree with Jenn

Copy link
Collaborator Author

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.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Collaborator

@AleJo2995 AleJo2995 left a 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]
Copy link
Collaborator

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

Copy link
Collaborator Author

@degenaro degenaro May 14, 2024

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
Copy link
Collaborator

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?

Copy link
Collaborator Author

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.

@@ -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
Copy link
Collaborator

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 👍

Copy link
Collaborator Author

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
Copy link
Collaborator

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?

Copy link
Collaborator Author

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):
Copy link
Collaborator

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?

Copy link
Collaborator Author

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):
Copy link
Collaborator

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?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes.

)


class Location(OscalBaseModel):
Copy link
Collaborator

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?

Copy link
Collaborator Author

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):
Copy link
Collaborator

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?

Copy link
Collaborator Author

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
Copy link
Collaborator

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?

Copy link
Collaborator Author

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
Copy link
Collaborator

Choose a reason for hiding this comment

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

Agree with Jenn

degenaro and others added 5 commits May 14, 2024 04:30
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>
Automatically generated by python-semantic-release
@degenaro
Copy link
Collaborator Author

Signed-off-by: Lou DeGenaro <lou.degenaro@gmail.com>
@degenaro
Copy link
Collaborator Author

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 make test. Upgrading to a newer version of semantic-release should be on our radar for a next release of trestle. For now, we can live with the 17 warnings that occur. Note that the prior trestle release has 54 warnings, so we are better off with respect to warnings.

@degenaro
Copy link
Collaborator Author

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.

@degenaro
Copy link
Collaborator Author

degenaro commented May 15, 2024

So here's what I did, right or wrong. I did not understand why trestle/oscal/catalog.py previous version did not match what I expected to see. Note also, that this PR and branch was derived not directly from develop. So, I decided to create another PR that would deliver directly to develop. I was allowed to do so, but perhaps I don't fully understand the consequences of doing so?

Follow-up: 2 things to report.

  1. Creating a new PR using the same branch and delivering to a different base seems to be a bad idea. In this case delivering the present branch to oscal_nist_upgrade and to develop. (the PR title seems to be shared somehow?) So closed the PR that attempted to deliver to develop. However...

  2. It seems that oscal_nist_upgrade has some changes already, above and beyond what is in develop, and that explains why the trestle/oscal/catalog.py what not as expected when comparing to previous version.

Conclusion: once this PR is approved and merged into oscal_nist_upgrade, another review will be needed to merge oscal_nist_upgrade into develop. My discovery was that potential delivery to develop yields 79 changed files, while potential delivery to oscal_nist_upgrade yields 67 changed files.

I created a PR for just oscal_nist_upgrade to understand what it alone changed and upon which the present PR has been built. For your consideration, here is my analysis of what will need to be reviewed once the present PR is merged into oscal_nist_upgrade before it can be merged into develop:

# files path description
8 release-1.1.2-schemas/* the new schemas, which are not changed by child PR, so no review needed
1 scripts/gen_oscal.py changed by child PR, so already reviewed
1 tests/trestle/core/profile_resolver_test.py needs review
1 trestle/common/const.py needs review
1 trestle/core/control_reader.py changed by child PR, so already reviewed
1 trestle/core/resolver/merge/reader.py changed by child PR, so already reviewed
8 trestle/oscal/* changed by child PR, so already reviewed

@degenaro degenaro changed the title Fix 1 1 2 feat: support OSCAL 1.1.2 May 15, 2024
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>
@degenaro degenaro merged commit b0d6f26 into feat/oscal_nist_upgrade May 23, 2024
12 checks passed
@degenaro degenaro deleted the fix-1-1-2 branch May 23, 2024 18:55
degenaro added a commit that referenced this pull request May 29, 2024
* 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>
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.

None yet

4 participants