This repository was archived by the owner on Jan 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 29
This repository was archived by the owner on Jan 18, 2021. It is now read-only.
Build time A/B testing support #113
Copy link
Copy link
Open
Labels
deprioritizedhelp wantedPlease contribute! We need help building this project.Please contribute! We need help building this project.size:L
Description
Use case
Run build once, make some change, run build again, then compare build results. Sounds familiar? For certain kinds of changes, doing such A/B testing is super useful. It would be an excellent addition to release tools. After all, we want to really improve the lifecycle of software consumers and producers (easier, safer version bumps!). Example use cases:
- bumping version of a dependency and validating if the project still works ok (Automated e2e testing and pushing version upgrades to consumers #85). Bumped version can be of some compile dependency but also of a built-time dependency such as the version of a some Gradle plugin we use.
- making change in build logic and validating if stuff still works.
Example workflow
Example implementation of the build comparison workflow:
- Clone a project from GitHub
- Copy the clone to another directory so that we have 2 identical clones
- Run a set of commands in clone 1, for example "./gradlew build -PsomeToolVersion=1.4"
- Run a set of commands in clone 2, for example "./gradlew build -PsomeToolVersion=1.5"
- Compare build directories
- Analyze comparison results
Suggested design
Suggested starting point design - check out #114 (It's only a suggestion! Pick your own path if you want, just keep the team informed about the design decisions! :)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
deprioritizedhelp wantedPlease contribute! We need help building this project.Please contribute! We need help building this project.size:L