-
Notifications
You must be signed in to change notification settings - Fork 0
Update CI to check docs, analyzers, and run unit tests #4
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
Conversation
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.
Pull Request Overview
This PR establishes CI infrastructure for the repository by adding GitHub Actions workflows and a basic unit test structure. It replaces the inactive CI placeholder with comprehensive automated checks for code quality, documentation, and testing.
Key changes:
- Adds reusable workflows for analyzer checks (pyright, mypy, bandit), documentation generation, and unit test execution
- Creates a basic test structure with a dummy unit test to validate the testing pipeline
- Configures CI to run across multiple Python versions (3.9-3.13) and operating systems (Windows, Ubuntu)
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/CI.yml | Main CI workflow that orchestrates analyzer checks, documentation validation, and unit tests across multiple environments |
| .github/workflows/check_analyzers.yml | Reusable workflow for running static analysis tools (mypy, pyright, bandit) and linting |
| .github/workflows/check_docs.yml | Reusable workflow for validating documentation builds using Sphinx |
| .github/workflows/run_unit_tests.yml | Reusable workflow for executing unit tests with pytest across different Python versions and OS |
| .github/actions/run_and_upload_unit_tests/action.yml | Composite action that runs pytest with coverage and uploads test results as artifacts |
| tests/init.py | Root test package initialization |
| tests/unit/init.py | Unit test package initialization |
| tests/unit/test_ni_datastore_client.py | Dummy unit test to validate the testing pipeline is functional |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
What does this Pull Request accomplish?
Adds some workflows including checking the documentation, running analyzers (pyright, mypy etc), and running whatever unit tests it finds. Currently there's only one dummy unit test to ensure they are running.
Why should this Pull Request be merged?
Start of repo CI and unit tests to keep the repo healthy.
What testing has been done?
Unit tests and new workflows are running on this PR.