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

Provide CI testing support #8

Merged
merged 18 commits into from
Jan 30, 2025
Merged

Provide CI testing support #8

merged 18 commits into from
Jan 30, 2025

Conversation

mitchnegus
Copy link
Member

@mitchnegus mitchnegus commented Nov 15, 2024

This provides a starting point for converting our GitLab CI testing infrastructure to the GitHub Actions workflow.

Workflow Upgrades

To avoid duplication in the workflow scripts, I've created a new set of composite actions to install minimega, discovery, FIREWHEEL, and tox. We should hopefully be able to use these composite actions to dramatically simplify some of the CI scripts we had before. I've also upgraded the versions of referenced reusable versions where possible.

Test Enhancements

The unit tests have been upgraded to provide increased utility and work better through the FIREWHEEL interface:

  • Running the firewheel test unit helper now returns the appropriate exit code returned by pytest, which was previously unintentionally suppressed.
  • A new marker includes or excludes tests which depend on model components.
  • In service of that functionality, the tests now also make use of pytest's built-in -m option to select marked tests for inclusion/exclusion rather than adding custom options.

Bug Fixes

This PR also fixes a few bugs in the current implementation:

  • This fixes a testing error identified by testing the FIREWHEEL deployment in an fresh installation (a hardcoded path in the test_cli_completion.py script).
  • Arguments passed to the helpers were not parsed correctly, ignoring quoted inputs and just splitting on spaces. This changes the helpers to use shlex for proper parsing.

@mitchnegus mitchnegus marked this pull request as draft November 15, 2024 23:38
@mitchnegus mitchnegus marked this pull request as ready for review November 15, 2024 23:39
@mitchnegus mitchnegus marked this pull request as draft November 15, 2024 23:39
@CLAassistant
Copy link

CLAassistant commented Dec 17, 2024

CLA assistant check
All committers have signed the CLA.

@mitchnegus mitchnegus force-pushed the tests branch 2 times, most recently from 9aba855 to 94b170f Compare January 9, 2025 18:15
@mitchnegus mitchnegus marked this pull request as ready for review January 23, 2025 20:37
@mitchnegus mitchnegus force-pushed the tests branch 3 times, most recently from 7bd67a0 to 424d255 Compare January 27, 2025 19:11
Add a dependency group for MC repos that may be installed along with the
FIREWHEEL package. This commit also excludes tests relying on those MC
repos from the GitHub testing workflow.
This drops coverage to 60% so that the unit tests pass.
This coverage is lower than previous pipelines, likely because this
coverage level only reflects unit tests (and not functional tests)
and because the current pipeline is excluding both long-running tests
and tests that depend on other MCs.
Copy link
Collaborator

@sdelliot sdelliot left a comment

Choose a reason for hiding this comment

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

LGTM!

@sdelliot sdelliot merged commit e803672 into sandialabs:main Jan 30, 2025
12 checks passed
@mitchnegus mitchnegus deleted the tests branch January 30, 2025 22:07
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