Skip to content

Add automated and reproducible software testing for the project #42

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

Open
4 tasks
d33bs opened this issue May 14, 2025 · 0 comments
Open
4 tasks

Add automated and reproducible software testing for the project #42

d33bs opened this issue May 14, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@d33bs
Copy link
Collaborator

d33bs commented May 14, 2025

To support consistent development and reduce the likelihood of regressions, we propose introducing automated software tests into the project. Testing allows us to verify that new changes do not break existing functionality and provides confidence during code updates and refactoring.

We recommend integrating testing frameworks where appropriate (e.g., pytest) alongside continuous integration (CI) using GitHub Actions. This setup would automatically run the test suite on each pull request or push to key branches, ensuring that all contributions meet a baseline level of functionality before being merged. This came up as a result of discussions about #40 .

"Minimum viable testing" here I feel would include:

  • Ability to install the development environment locally (perhaps extending into infrastructure as code, due to the involvement of a Postgres-based implementation)
  • Ability to install the development environment within GitHub Actions (ideally leveraging any tooling meant for local development installation)
  • Existence of at least one test, processed through the development environment, that ingests a simple project and runs through MOSS to completion without exception. (For ex. ingest one repo and run a simple select a table to show that data was gathered).
  • An automated GitHub Actions workflow which runs tests, triggered by: 1) new or updated PR's to show whether the tests pass / fail, 2) updates to main to reaffirm the "production" branch is in good working order.

I recommend that each of these changes are applied through a single pull request to help isolate the changes and keep complexity of development + review low. Please also include documentation related to each change so that we build up our ability to understand the context together and enable onboarding for new contributors rapidly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant