Skip to content

Conversation

@dixonjoel
Copy link
Collaborator

@dixonjoel dixonjoel commented Sep 11, 2025

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.

@dixonjoel dixonjoel changed the title Add check_analyzers and check_docs Update CI to check docs, analyzers, and run unit tests Sep 12, 2025
@dixonjoel dixonjoel marked this pull request as ready for review September 12, 2025 14:12
@dixonjoel dixonjoel requested a review from csjall as a code owner September 12, 2025 14:12
Copilot AI review requested due to automatic review settings September 12, 2025 14:12
Copy link
Contributor

Copilot AI left a 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.

dixonjoel and others added 2 commits September 12, 2025 09:16
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@dixonjoel dixonjoel merged commit cef5638 into main Sep 12, 2025
12 checks passed
@dixonjoel dixonjoel deleted the users/jdixon/datastore-python-workflows branch September 12, 2025 15:42
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