branch-out

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2025 License: MIT Imports: 1 Imported by: 0

README

Branch Out

A tool to accentuate the capabilities of Trunk.io's flaky test tools. When a test is detected as flaky, Trunk.io sends a webhook. From there, we can branch out to different services to customize the flaky test quarantine process.

See the design doc for a more detailed look at how it works.

Run

# See the help command for detailed instructions on how to run branch-out
branch-out --help

Configuration

Configuration is fetched in this priority order:

  1. CLI Flags (e.g. --github-token <token-value>)
  2. Env Vars
  3. A .env file. See .env.example

Contributing

We use golangci-lint v2 for linting and formatting, and pre-commit for pre-commit and pre-push checks.

pre-commit install # Install our pre-commit scripts

See the Makefile for helpful commands for local development.

make lint                 # Lint and format code
make watch                # Watch repo and run tests when .go files are saved
make test                 # Run all tests
make test_race            # Run all tests with race detection
make test_short           # Run all `short` tests
make test_integration     # Only run Integration tests
make test_example_project # Run example tests in the example_project directory

Documentation

Overview

Package main is the entry point for the branch-out application.

Directories

Path Synopsis
Package base provides a base HTTP client with logging middleware for calling other services.
Package base provides a base HTTP client with logging middleware for calling other services.
Package cmd provides the CLI for the branch-out application.
Package cmd provides the CLI for the branch-out application.
Package config provides the configuration for the application.
Package config provides the configuration for the application.
Package github provides GitHub App authentication via oauth2.TokenSource.
Package github provides GitHub App authentication via oauth2.TokenSource.
Package golang provides utilities for the Go programming language.
Package golang provides utilities for the Go programming language.
internal
testhelpers
Package testhelpers provides utilities for testing.
Package testhelpers provides utilities for testing.
Package jira provides utilities for the Jira API.
Package jira provides utilities for the Jira API.
Package logging provides a configurable logger for the server.
Package logging provides a configurable logger for the server.
Package server hosts the HTTP server for the branch-out application.
Package server hosts the HTTP server for the branch-out application.
Package trunk provides utilities for the Trunk.io API.
Package trunk provides utilities for the Trunk.io API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL