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

Revamp CI/CD Infrastructure, Simplify Build #1857

Merged
merged 13 commits into from
Jul 25, 2023
Merged

Revamp CI/CD Infrastructure, Simplify Build #1857

merged 13 commits into from
Jul 25, 2023

Conversation

nikitawootten-nist
Copy link
Contributor

@nikitawootten-nist nikitawootten-nist commented Jul 14, 2023

Committer Notes

Fixes #1847

  • Schema gen pipeline
  • Converter gen pipeline
  • Markdown validation pipeline (linkcheck)
  • Metaschema validation pipeline (schematron)
  • stretch Generated content (schemas, converters) validation pipeline
  • New pipelines wired in CI/CD
  • stretch XSpec tests NOTE: tests are outdated so their results will be ignored until a future PR fixes them
  • Archive artifacts

Also:

Note: we considering replacing markdown-link-check.

All Submissions:

By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.

(For reviewers: The wiki has guidance on code review and overall issue review for completeness.)

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all OSCAL website and readme documentation affected by the changes you made? Changes to the OSCAL website can be made in the docs/content directory of your branch.

nikitawootten-nist and others added 5 commits July 14, 2023 18:59
* Replace metaschema submodule with metaschema-xslt
* Remove extraneous dependencies (pom.xml, some package.json entries)

Co-authored-by: Wendell Piez <wendell.piez@nist.gov>
Co-authored-by: Dmitry Cousin <dmitry.cousin@nist.gov>
* Remove generate ci documentation workflow
* Create `artifacts` and `checks` makefile targets
* Started a `build/` README
* Added libxml2-utils to status action setup
* Advanced metaschema-xslt submodule
* Added more details to the OSCAL build readme
* Downgraded MLC to 3.10.2 to mitigate intermittent "Callback was already called" errors
* Artifact CI job run multiple jobs
Co-authored-by: Chris Compton <daniel.compton@nist.gov>
@nikitawootten-nist nikitawootten-nist changed the title [DRAFT] Revamp CI/CD Infrastructure, Simplify Build Revamp CI/CD Infrastructure, Simplify Build Jul 21, 2023
@nikitawootten-nist
Copy link
Contributor Author

Looks like we're ready for review!

@nikitawootten-nist
Copy link
Contributor Author

@wendellpiez may have found some regressions in the metaschemas via the new schematron tests, however any fixes will have to happen in the upstream #1856 branch after this PR is merged (to avoid diverging histories).

Copy link
Contributor

@aj-stein-nist aj-stein-nist left a comment

Choose a reason for hiding this comment

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

Initial feedback, more to follow.

.github/workflows/status.yml Show resolved Hide resolved
build/Makefile Show resolved Hide resolved
build/README.md Outdated Show resolved Hide resolved
build/README.md Show resolved Hide resolved
build/README.md Outdated Show resolved Hide resolved
build/README.md Show resolved Hide resolved
Co-authored-by: A.J. Stein <alexander.stein@nist.gov>
@Compton-US
Copy link
Contributor

Compton-US commented Jul 24, 2023

We talked in the standup on the diff findings so far. One other thing is that there is no directory structure in the newly generated folder, which may be ok, but we should check the filenames because some of the naming is inconsistent and that may cause headaches for integrators. On the convertors there is a dash ('-') after the model name, and we probably want to adjust that to an underscore ('_'). e.g. oscal_ssp_ vs oscal_ssp-

Screenshot 2023-07-24 at 12 04 17 PM

@nikitawootten-nist
Copy link
Contributor Author

We talked in the standup on the diff findings so far. One other thing is that there is no directory structure in the newly generated folder, which may be ok, but we should check the filenames because some of the naming is inconsistent and that may cause headaches for integrators. On the convertors there is a dash ('-') after the model name, and we probably want to adjust that to an underscore ('_'). e.g. oscal_ssp_ vs oscal_ssp-

Screenshot 2023-07-24 at 12 04 17 PM

This has been solved in usnistgov/metaschema-xslt#50.

@aj-stein-nist would you be comfortable reviewing this PR in Wendell's absence? It also aligns the metaschema-xslt with Kyle and your changes to the JSON schema generation stylesheet.

@nikitawootten-nist
Copy link
Contributor Author

The newest commit also generates archive artifacts, as seen here in this test release: https://github.com/nikitawootten-nist/OSCAL/releases/tag/untagged-94aa5a273145cbd339e9

@aj-stein-nist
Copy link
Contributor

aj-stein-nist commented Jul 24, 2023

The newest commit also generates archive artifacts, as seen here in this test release: https://github.com/nikitawootten-nist/OSCAL/releases/tag/untagged-94aa5a273145cbd339e9

So we will move from gzip from bz2? I am not preferential but we did the latter before (I pick an example release that was not one of those in the list I "backported" by manually uploading artifacts we split out).

https://github.com/usnistgov/OSCAL/releases/tag/v1.0.0-milestone3

@nikitawootten-nist
Copy link
Contributor Author

nikitawootten-nist commented Jul 24, 2023

So we will move from gzip from bz2? I am not preferential but we did the latter before (I pick an example release that was not one of those in the list I "backported" by manually uploading artifacts we split out).

https://github.com/usnistgov/OSCAL/releases/tag/v1.0.0-milestone3

I think you are referring to the "Source code (tar.gz)" link that GitHub generates with all releases.

The "oscal-${RELEASE}.tar.bz2" and "oscal-${RELEASE}.zip" release assets have been generated by the package release action and contain the zipped up artifacts as well as a special release readme (see https://github.com/usnistgov/OSCAL/releases/tag/v1.0.4).

The archive format has been unchanged.

@aj-stein-nist
Copy link
Contributor

So we will move from gzip from bz2? I am not preferential but we did the latter before (I pick an example release that was not one of those in the list I "backported" by manually uploading artifacts we split out).
https://github.com/usnistgov/OSCAL/releases/tag/v1.0.0-milestone3

I think you are referring to the "Source code (tar.gz)" link that GitHub generates with all releases.

The "oscal-${RELEASE}.tar.bz2" and "oscal-${RELEASE}.zip" release assets have been generated by the package release action and contain the zipped up artifacts as well as a special release readme (see https://github.com/usnistgov/OSCAL/releases/tag/v1.0.4).

The archive format has been unchanged.

My bad, the untagged- prefix tag on your fork was gone so I found one of the latest tag releases and quickly skimmed. Then I am happy, please proceed.

Copy link
Contributor

@Compton-US Compton-US left a comment

Choose a reason for hiding this comment

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

Based on actions yesterday, I think we're in good shape.

…`nm:ERROR` when using `json` instead of `file` input #1849
@nikitawootten-nist
Copy link
Contributor Author

One last update, Wendell and I recreated a PR made by @kylelaker that will fix #1849.

@nikitawootten-nist nikitawootten-nist merged commit d4e5c5c into usnistgov:feature-1802-oscal-pages-nosquash Jul 25, 2023
1 check passed
nikitawootten-nist added a commit that referenced this pull request Jul 25, 2023
…nverter (#1849)

* Replaced `metaschema` submodule with `metaschema-xslt`
    * The `metaschema-xslt` version also fixes #1849
* Removed all bespoke scripts and replaced them with Makefile targets
* Changed CI infrastructure to use the new Makefile scripts
* Removed Dockerfile and infrastructure as it is no longer needed
* Changed model version to `1.1.0`

Co-authored-by: Wendell Piez <wendell.piez@nist.gov>
Co-authored-by: Dmitry Cousin <dmitry.cousin@nist.gov>
Co-authored-by: Chris Compton <daniel.compton@nist.gov>
Co-authored-by: A.J. Stein <alexander.stein@nist.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants