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

Functional Testing Pipeline #1118

Open
eeyun opened this issue Jan 3, 2018 · 2 comments
Open

Functional Testing Pipeline #1118

eeyun opened this issue Jan 3, 2018 · 2 comments

Comments

@eeyun
Copy link
Contributor

eeyun commented Jan 3, 2018

Until bldr has a more thorough featureset around integration testing, the core-plans maintainers should adopt pre-commit tooling that can tell use if version bumps could have a negative effect on the runtime behavior of a reverse dependency.

Example:
Builder today can tell us if a package build breaks the compilation of another package. But, it cannot tell us if another compiled package will actually function.

E.G. core/web_app_srv sets pkg_deps = ( core/web_app_lib )

Let's pretend a change comes in that updates core/web_app_lib. What we need to know isn't just whether core/web_app_srv can build, but if it can actually still start up like a service should after such a change.

There are several challenges here. Reasonable testing of both services and libraries is not a ubiquitous operation. If a library changes we need to know both if a consuming package can compile and then whether a consuming compiled package will still start and run and perform it's typical operations. If a service changes, we simply need to know whether or not the service itself still functions.

My theory is that in defining runtime-level integration tests for services, we should be able to chain testing pipelines via dependencies to determine whether a theoretical low-level library change is going to break these runtime operations. On a long enough timeline we will hopefully support many of these features natively in builder. For now though, our users can't wait for that to happen.

@eeyun eeyun added this to the Accepted Minor milestone Jan 3, 2018
@eeyun eeyun self-assigned this Jan 3, 2018
@eeyun eeyun changed the title Pre-Commit Pipelining Functional Testing Pipe Jan 5, 2018
@eeyun
Copy link
Contributor Author

eeyun commented Jan 5, 2018

I'm reconfiguring this issue into a tracking Issue as having this card in analysis revealed more facets to the issue and this should be considered an Epic.

@eeyun eeyun changed the title Functional Testing Pipe Functional Testing Pipeline Jan 5, 2018
@eeyun eeyun added E-helldive and removed E-hard labels Jan 5, 2018
@eeyun eeyun added the Type:Epic label Feb 5, 2018
@predominant
Copy link
Collaborator

I've started some POC work on this, habitat-sh/habitat#5605 - Please, comments and criticism. Lets get it done!

@eeyun eeyun removed their assignment Mar 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants