π‘οΈ Decision Guide: Running Internal Automated Tests in S-CORE #977
AlexanderLanin
started this conversation in
Operational Community
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
π‘οΈ Decision Guide: Running Internal Automated Tests on Public Repositories
Last updated: 2025-04-23
_Status: looks good π
This is a living document. π€ Discussions and contributions welcome!
β‘ Executive Summary
Open source repositories thrive on public collaboration, but internal teams often rely on proprietary tests that cannot be shared publicly. This guide helps you decide how to integrate internal automated tests with public repositories to ensure internal stability without hindering open source contributions.
Youβll find:
π Recommendation: For most teams, adopting a simple Nightly Build strategy provides the best balance between internal safety and open source collaboration.
π― Context & Problem Statement
Public collaboration is essential for open source projects. However, internal systems may depend on private verification steps, such as automated tests tied to proprietary infrastructure or sensitive data.
In short, we need a way to ensure changes in open source software do not break internal usage, while keeping collaboration open and seamless.
βοΈ Options Overview
There are two primary strategies to integrate internal tests with public repositories:
(Pre-Merge, -Release etc.)
(Post-Merge, -Release etc.)
No delays for contributors.
π In general, Nightly Builds are the preferred starting point unless your project has strict pre-merge validation needs.
π οΈ Details
1οΈβ£ Event-Driven Testing (Pre-Merge, -Release etc.)
Trigger internal pipelines based on GitHub events to perform real-time internal testing. This aligns with standard practices like verifying pull requests before merging.
Trigger Mechanisms
Outbound connections only.
Runner maintenance.
Requires public workflow adjustments.
Simpler integration.
Evaluation
Pros:
Cons:
Example Feedback
π Use Event-Driven Testing when fast feedback is critical and your team has full ownership and capacity to maintain the integration.
2οΈβ£ Nightly Builds (Post-Merge, -Release etc.)
Running internal tests on a scheduled basis after changes are merged is often the simplest and most effective approach for integrating internal verification with public repositories.
While traditionally used for long-running tests, Nightly Builds are particularly well-suited for open source projects, where contributor experience, low maintenance, and minimal disruption are priorities.
For many teams, this strategy strikes the best balance between safeguarding internal systems and fostering open collaboration.
Evaluation
Pros:
Cons:
β‘οΈ Unless immediate blocking feedback is essential, Nightly Builds should be your default choice.
π Security Considerations (Handling Untrusted Code)
Follow your companyβs security policies and ensure infrastructure is designed to handle the risks inherent in integrating public code.
π Summary & Next Steps
π€ Contributions Welcome!
This guide will evolve as new patterns and technologies emerge.
If you have suggestions, improvements, or lessons learnedβopen a PR and help streamline internal testing for everyone! π
Beta Was this translation helpful? Give feedback.
All reactions