Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kynrai/tainted

Tool to determine which Go packages need to be rebuilt in a monorepo
https://github.com/kynrai/tainted

build-automation build-tool diff go golang repo repository

Last synced: 6 days ago
JSON representation

Tool to determine which Go packages need to be rebuilt in a monorepo

Awesome Lists containing this project

README

        

# Tainted

A tool to compare which go packages will need be to rebuilt as a result of changes between two git diffs.

Ideally used as part of a CI/CD pipeline to see which servies should be rebuilt and redeployed

N.B. Name inspired by terraforms taint terminology

# Project status

I do not have time to update or maintain this package but fortunatly Digital ocean have a much better and activly maintained tool here which does what atinted does and more,

https://github.com/digitalocean/gta

https://www.digitalocean.com/blog/gta-detecting-affected-dependent-go-packages/

# Requirments
- git MUST be installed and be on the path where tainted is run

# Install

### From Go
go get -u github.com/kynrai/tainted

### From binaries
see releases for latest binaries

# Usage

### Basic usage
From the go project repo e.g. `$GOPATH/src/github.com/user/repo/`

go list ./... | tainted

It using the standard go repo layout (recommended)

go list ./cmd/... | tainted

You can manually set the git commit ranges, by default the previous commit is checked with HEAD. i.e. `HEAD~1..HEAD`

You can change any or all of the params

go list ./... | tainted -from=HEAD~2

go list ./... | tainted -from=HEAD~1 -to=HEAD~1