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

Create smoke,regress,nightly tests; Add nightly GitHub workflow #304

Merged
merged 2 commits into from
Dec 2, 2024

Conversation

dhower-qc
Copy link
Collaborator

Regression tests are taking too long. This PR splits testing into smoke, regress, and nightly.

  • smoke is basic validation tests (no generation)
  • regress is needed to merge a PR. It contains smoke + generates one of each type of output.
  • nightly is regress + builds all outputs.

This also adds a nightly run on GitHub.

NOTE This changes some of the task names to get more uniformity. Notably do validate is now do test:smoke.

The full list of documented tasks is:

hu-dhower-lv:riscv-unified-db-3 (90) ./do --tasks
do clean                                # Clean up all generated files
do gen:adoc[config_name]                # Generate Asciidoc source for config into gen/CONFIG_NAME/adoc
do gen:arch                             # Generate a unified architecture file (configuration independent) / Generate architecture files from layouts
do gen:cert_model_pdf[cert_model_name]  # Generate certificate documentation for a specific version as a PDF
do gen:cert_profile_pdfs                # Generate all certificates and profile PDFs
do gen:cfg_arch[config_name]            # Generate the cfg-specific architecture files for config_name
do gen:cfg_ext_html[extension,cfg]      # Generate HTML documentation for :extension that is defined or overlayed in :cfg
do gen:cfg_ext_pdf[extension,cfg]       # Generate PDF documentation for :extension that is defined or overlayed in :cfg
do gen:ext_pdf[extension]               # Generate PDF documentation for :extension
do gen:html[config_name]                # Generate HTML documentation for config(s)
do gen:html_manual                      # Generate an HTML site for one or more versions of the manual (./do --desc for options)
do gen:index                            # Generate index of the database
do gen:profile[profile_release]         # Create a specification PDF for +profile_release+
do gen:profile_html[profile_release]    # Create a specification HTML for +profile_release+
do gen:tool_doc                         # Generate documentation for the ruby tooling
do serve:html[config_name,port]         # Start an HTML server to view the generated HTML documentation for config_name
do serve:tool_doc[port]                 # Start an HTML server to view the generated HTML documentation for the tool
do test:nightly                         # Run the nightly regression tests
do test:regress                         # Run the regression tests
do test:smoke                           # Run smoke tests

AFOliveira
AFOliveira previously approved these changes Nov 25, 2024
Copy link
Collaborator

@AFOliveira AFOliveira left a comment

Choose a reason for hiding this comment

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

I think this is great, it definitely improves workflow!

Copy link
Collaborator

@kbroch-rivosinc kbroch-rivosinc left a comment

Choose a reason for hiding this comment

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

I agree the existing regress action was taking nearly 1/2 hr.

@dhower-qc dhower-qc dismissed stale reviews from kbroch-rivosinc and AFOliveira via 02076bb December 2, 2024 14:25
@dhower-qc dhower-qc merged commit ea3dda8 into main Dec 2, 2024
5 checks passed
@dhower-qc dhower-qc deleted the regress branch December 2, 2024 14:56
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.

3 participants